試圖創建一個程序,其中用戶在我的主輸入2個數字,顯示菜單方法以顯示用戶想要使用switch語句對這兩個數字進行的操作,然後4個其他方法將根據用戶選擇的選項從菜單中。如何將int從我的主要方法傳遞給計算方法?
我的問題是如何將我存儲的2個int從我的主要通過我的其他4種方法進行計算?
我的解決方案是將請求和輸入2個整數的過程移動到我的菜單方法中,但是我的導師特別要求將main中的整數傳遞給方法。
這是我到目前爲止。 編輯我知道這個代碼編譯和作品,我想要的是是5行代碼要求並獲得在我的主要的2個整數,而不是我的菜單的方法編輯
public static void main (String [] args)
{
Scanner kb = new Scanner(System.in); //Allows input from keyboard
int iMenu; //Holds menu
System.out.print ("\n\nPress ENTER to continue");
kb.nextLine();
iMenu = menu(); //Calls menu method
}
public static int menu()
{
int iNum1; //Holds user input for number 1
int iNum2; //Holds user input for number 2
Scanner kb = new Scanner(System.in); //Allows input from keyboard
System.out.print("\nPlease enter the first integer: ");
iNum1 = kb.nextInt();
System.out.print("\nPlease enter the second integer: ");
iNum2 = kb.nextInt();
int iSelection; //Holds menu selection
System.out.println("\n\t M E N U ");
System.out.println("\n1>Sum up two integers" +
"\n2>Find the difference of two integers" +
"\n3>Find the average of two integers" +
"\n4>Find the product of two integers" +
"\n5>Find the quotient of two integers");
iSelection = kb.nextInt();
//}
switch (iSelection)
{
case 1:
sumTwoNumbers(iNum1, iNum2);
break;
case 2:
subTwoNumbers(iNum1, iNum2);
break;
case 3:
avgTwoNumbers(iNum1, iNum2);
break;
case 4:
multiTwoNumbers(iNum1, iNum2);
break;
case 5:
divTwoNumbers(iNum1, iNum2);
}
return iSelection; //End menu()
}
public static int sumTwoNumbers(int iNum1, int iNum2)
{
int iSum; //Holds sum of iNum1 and iNum2
iSum = iNum1 + iNum2;
System.out.println(iSum);
return iSum; //End sumTwoNumbers(int,int)
}
public static int subTwoNumbers(int iNum1, int iNum2)
{
int iSub; //Holds difference of iNum1 and iNum2
iSub = iNum1 - iNum2;
System.out.println(iSub);
return iSub; //End subTwoNumbers(int,int)
}
public static double avgTwoNumbers(int iNum1, int iNum2)
{
double dAvg; //Holds average of iNum1 and iNum2
dAvg = (iNum1 + iNum2)/2;
System.out.println(dAvg);
return dAvg; //End avgTwoNumbers(int,int)
}
public static int multiTwoNumbers(int iNum1, int iNum2)
{
int iMulti; //Holds product of iNum1 and iNum2
iMulti = iNum1 * iNum2;
System.out.println(iMulti);
return iMulti; //End multiTwoNumbers(int,int)
}
public static int divTwoNumbers(int iNum1, int iNum2)
{
int iDiv; //Holds quotient of iNum1 and iNum2
iDiv = iNum1/iNum2;
System.out.println(iDiv);
return iDiv; //End divTwoNumbers(int,int)
}
當我移動(輸入2點的整數)到我的主,我得到的錯誤的負載大多是「不能在我所有的方法,例如找到符號:
Proj2.java:78: error: cannot find symbol
avgTwoNumbers(iNum1, iNum2);
^
symbol: variable iNum1
location: class Proj2
Proj2.java:78: error: cannot find symbol
avgTwoNumbers(iNum1, iNum2);
^
我假設它是因爲INT WASN沒有正確地傳遞給我的方法,但我不知道如何去做。
也許Java的一個基本的瞭解,您就可以回答你自己的問題。 – Qix 2014-10-10 16:50:23
謝謝,感謝。 – ChelseaH 2014-10-10 16:58:10