我有一個獲取並返回一個字符輸入的靜態函數。 然後它將使用while循環檢查輸入。 我的主要方法獲得輸入後,結果將相應地顯示給用戶輸入。Java - 獲取用戶輸入並通過開關盒傳輸到主函數
下面是我的方法:
public class test
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
char choice = getInput(sc);
String result;
switch (choice)
{
case ('a'): result = "u choose A";
break;
}
}
private static char getInput(Scanner keyboard)
{
Scanner sc = new Scanner(System.in);
System.out.println("a, b, c, d, e, q: ");
char choice = sc.nextLine().trim().toLowerCase().charAt(0);
while (choice != 'a' || choice != 'b' || choice != 'c' || choice != 'd' || choice != 'e' || choice != 'q')
{
System.out.println("You have entered an invalid entry.");
System.out.println("a, b, c, d, e, q: ");
choice = sc.nextLine().trim().toLowerCase().charAt(0);
}
return choice;
}
}
不過,我正在即使我輸入的字符「A」輸入無效的結果。
我可以知道哪部分出了問題嗎?
作爲一種改進,您可以使用「鍵盤」而不是在getInput方法內創建新的Scanner對象。 –