2014-01-26 74 views
0

我正在嘗試寫一小段代碼,當給出r和h時,輸出min的三個數字,最多三個數字和一個圓柱體的表面積。從返回方法獲取正確的打印輸出

我編寫了代碼,編譯了它,它的工作方式與我想要的完全一樣。但是,對於實際的打印輸出,我希望它稍微好點。我遇到了麻煩。

在看下面的代碼,電流輸出讀作: 56.8 圓柱體具有半徑3.0和高度4.5表面積141.3716694115407

我想實際的打印輸出進行建模在圓柱體方法(即「最小5,7和3是3」和「最大......」)之後。圓柱體部分很容易,因爲我的打印語句在方法中...方法本身不是返回類型。

但是,返回類型的findMin和findMax方法,任何人都可以提供給我建議或提示如何讓代碼實際輸出超過最小值或最大值?我試着在主要方法下的實際println語句中實際播放,但不斷收到錯誤。

許多感謝...從一個初學者

public class Test { 

public static void main(String[] args) { 
    System.out.println(findMin(5, 7, 3)); 
    System.out.println(findMax(-5.1, 32.5, 56.8)); 
    cylinderSurfaceArea(3.0, 4.5); 
} 

public static int findMin(int a, int b, int c) { 
    int minimum = Math.min(a, b); 
    int minimum2 = Math.min(minimum, c); 
    return minimum2; 
} 

public static double findMax(double a, double b, double c) { 
    double maximum = Math.max(a, b); 
    double maximum2 = Math.max(maximum, c); 
    return maximum2; 
} 

public static void cylinderSurfaceArea(double a, double b) { 
    double answer = 2 * Math.PI * (a * a) + 2 * Math.PI * a * b; 
    System.out.println("The surface area of a cylinder with radius " + a + " and height " + b + " is " + answer); 
} 

}

回答

1

一種方法是把方法裏面print聲明(我不建議):

public static int findMin(int a, int b, int c) 
{ 
    int minimum = Math.min(a, b); 
    int minimum2 = Math.min(minimum, c); 
    System.out.println("The minimum of " + a + ", " + b + " and " + c + " is " + minimum2); 
    return minimum2; 
} 

另一個是存儲變量,你會發現最小的:

int a = 5, b = 7, c = 3; 

,並有在main()方法print聲明:

System.out.println("The minimum of " + a + ", " + b + " and " + c + " is " + 

注:

您可能會發現有趣的printf,能以更靈活的方式使用:

System.out.printf("The minimum of %d, %d and %d is %d.", a, b, c, minimum2); 
System.out.printf("The minimum of %d, %d and %d is %d.", a, b, c, findMin(5, 7, 3)); 
+0

非常感謝。是的,在打印語句之前,我並沒有定義我的整數和雙精度,所以我得到a,b,c ......沒有定義的錯誤信息。謝謝。 – Rivers31334