プログラムの目的は、ユーザー入力を指定して、体積、表面積、面積、または円周のいずれかを計算することです。私はまだ特定のものをループする方法を理解しようとしていますが、ここに私の本当の問題があります:
プログラムを実行しようとすると、上記のエラーが発生します。また、ユーザーが知りたい最終情報(プログラムが計算したもの)をユーザーに通知する終了メッセージを配置するreturnステートメントも表示されます。
私の主な問題である「...double型の結果を返さなければならない」に対する答えをいただければ幸いです。ここで述べた他のことへの助けも大いに役立ちます。
また、適切にフォーマットされたコードは非常に煩わしいものです。4スペースの間隔を空けるように指示することで、それが何を意味するのかわかりません。実行して機能するたびに、誰かが常に編集します。これは非常に直感に反します。
import java.io.*;
public class circlemethods
{
public static void main (String [] args) throws IOException
{
BufferedReader myInput = new BufferedReader (new InputStreamReader (System.in));
String numInput;
String reqInput;
int num;
int numInt = 0;
System.out.println("This program will ask for a given user radius, then proceed to calculate the req");
System.out.println("The program will use several methods to achieve this, all calling back to the main method");
System.out.println("Press any key to continue");
numInput = myInput.readLine();
System.out.println("First, what would you like to calculate?");
System.out.println("Enter '1' for Circumference, '2' for area, '3' for volume, or '4' for surface area");
reqInput = myInput.readLine();
numInt = Integer.parseInt (reqInput);
System.out.println("Now enter the radius of the required shape");
numInput = myInput.readLine();
num = Integer.parseInt (numInput);
}
public static double circumference(double volume, double surfacearea, double area, double radius) throws IOException {
int numInt = 0;
int num = 0;
double circumference;
for (int i = 0; i < volume ; i++) {
if (numInt == 1)
{
System.out.println("You chose to calculate circumference, given the radius :"+ num );
circumference = (3.14) * (2) * (num);
return circumference;
}
if (numInt == 2)
{
System.out.println("You chose to calculate area, given the radius:" + num);
area = (3.14)*(num)*(num);
return area;
}
if (numInt == 3)
{
System.out.println("You chose to calculate volume, given the radius:" + num);
volume = 4/3 * (3.14)*(num)*(3)*(3)*(3);
return volume;
}
if (numInt == 4)
{
System.out.println("You chose to calculate surface area, given the radius:" + num);
surfacearea = 4*(3.14)*(num)*(2)*(2);
return surfacearea;
}
else
{
System.out.println("Invalid entry, please restart the program");
}
}
}
}