2012-07-14 53 views
0
public static int displayResult(int num1, int num2){ 
     return num1 * num2; 
    } 
public static void main(String args[]){ 
     displayResult(int num1, int num2); 
    } 

當我嘗試運行我的日食調用一個方法,它顯示了一個錯誤,這是「在類型的方法方法displayResult(INT,INT)不適用於參數」。任何人都可以向我解釋它是如何工作的?任何幫助,將不勝感激。謝謝。如何使用整數

回答

4

您需要先定義num1num2,然後才能使用它們。

public static void main(String args[]){ 
    int num1 = 3; 
    int num2 = -4; 
    displayResult(num1, num2); 
} 
+0

public static float readNumber(){ \t float number; \t Scanner sc = new Scanner(System.in); \t System.out.println(「輸入第一個數字:」); \t number = sc.nextFloat(); \t System.out.println(「Enter second number:」); \t number = sc.nextFloat(); \t退貨編號; } 但我的num1和num2是基於用戶輸入的。 – 2012-07-14 02:45:45

+1

首先 - 如果用戶提供浮點值,那麼你的'displayResult'方法也需要使用浮點值。 '第二個 - 在你可以調用displayResult()之前你需要兩個浮點數,但是你的代碼只有一個浮點變量'number'。您需要將每個浮點數存儲在其自己的變量中,可能是'firstNumber'和'secondNumber',然後調用您的方法:'displayResult(firstNumber,secondNumber)'。 – 2012-07-14 02:50:25

+0

public static int readNumber(){ \t \t int num1,num2; \t \t Scanner sc = new Scanner(System.in); \t \t System.out.println(「Enter first number:」); \t \t num1 = sc.nextInt(); \t \t System.out.println(「Enter second number:」); \t \t num2 = sc.nextInt(); \t \t return readNumber(); \t} 我改變了我的代碼變成這樣,現在我可以調用displayResult方法。但是,還有另一個錯誤發生。控制檯將保持提示輸入num1和num2的用戶輸入,如無結束。它是我的返回readNumber()有問題嗎?我不知道應該在哪裏返回結果並轉到下一個方法。 – 2012-07-14 03:01:05

1

當你調用maindisplayResult,實際上你需要通過它,而不是重複的類型和參數名稱。例如:

public static void main(String[] args){ 
    displayResult(2, 3); 
} 

這應該有效,但它仍然不會做任何事; displayResult返回結果,但它不打印或用其它方法做任何事情。您可能想要打印它,可能使用System.out.println

0

您需要在main中的displayResult()中傳遞實際的數值。所以把它改成displayResult(1,5);它是說它不喜歡參數(int num1和int num2),因爲它需要像(1,5)那樣傳入(int,int)。

0

你想用這個完成什麼?您需要將整數值傳遞給參數,您所做的調用不會執行此操作。整數不被初始化。 下面的例子將編譯:

public static int displayResult(int num1, int num2){ 
    return num1 * num2; 
} 
public static void main(String args[]){ 
    displayResult(1, 1); 
} 

或...

public static int displayResult(int num1, int num2){ 
    return num1 * num2; 
} 
public static void main(String args[]){ 
    int num1 = 1; 
    int num2 = 1; 
    displayResult(num1, num2); 
} 

等等

0

當你寫下面

public static int displayResult(int num1, int num2){ 
    return num1 * num2; 
} 
你基本上確定

該方法並指定參數類型。

調用方法,但是,如下

displayResult(4,5); 

注意,我可以通過變量的形式完成。重要的一點是,我們不給出參數的類型

+0

這意味着我不能使用此方法的用戶輸入號碼?如果我在方法內設置數字,則無論用戶輸入什麼內容,顯示的結果都是相同的。因爲我目前正在學習如何根據用戶輸入調用方法。 – 2012-07-14 02:50:15

+0

好的。你可以做的是將一個變量設置爲用戶輸入的值,然後將其傳遞給方法。你如何獲得用戶輸入?他們是用java命令(命令行參數)傳遞它們還是應該在程序啓動後得到輸入? – 2012-07-14 02:58:34

+0

謝謝。我解決了這些問題 – 2012-07-14 04:39:58