程序的目標是計算給定用戶輸入的體積,表面積,面積或周長。我仍然試圖找出我將如何循環某些事情,但這裏是我真正的問題:自定義方法「...必須返回雙倍結果」的錯誤
我嘗試和運行程序,但我得到上面顯示的錯誤,也與返回語句在哪裏我會放置一個結束消息告訴用戶他希望知道的最終信息(程序計算的東西)。
回答我的主要問題「......必須返回一個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");
}
}
}
}
什麼如果參數'volume'爲負值,你的'circumference()'metohd會返回嗎? ;) – jlordo 2013-03-16 20:04:11
它顯然不能爲編譯器編寫者提供非常明確的錯誤消息! 「周長()必須返回一個double值」究竟是什麼可能被誤解? – Ingo 2013-03-17 19:44:50