public static String getSubMenu(String submenu){
Scanner keyboard = new Scanner(System.in);
String chosen="", A="A",B="B", a="a", b="b";
do{
chosen = keyboard.next();
keyboard.nextLine();
System.out.print("\n\n");
}while(chosen.compareTo(A));
return chosen;
}
//This function below is fine.
public static void Menu(){
String unem="";
do{
System.out.println("Sub Menu");
System.out.println("Select an Option\n\n");
System.out.println("a.Sort by name\n" +
"b.Sort by time\n" +
"c.Exit sub-menu\n\n");
System.out.print("Input the number for the selected option: ");
unem= getSubMenu(unem);
if("a".equals(unem)|| "A".equals(unem)){
}
if("b".equals(unem)|| "B".equals(unem)){
}
}while ("a".equals(unem) ||"b".equals(unem) || "A".equals(unem) || "B".equals(unem));
}
}
嗨,我想做一個子菜單。正如您在功能Menu
中看到的那樣,當調用getSubMenu
時,用戶必須在函數getSubMenu
中輸入選定的選項。我通過看教材和在線和它似乎沒有,你可以爭論中使用char
如使用String/char創建子菜單?
char a="a";
if(a != b);
如果您可以使用字符,而不是字符串上述功能,請告訴我們。
但繼續前進。我現在想要做的是讓getSubMenu
返回一個包含'A' || 'a' || 'b' || 'B' || 'c' || 'C'
的字符串,然後在用戶沒有將其中的任何一個作爲輸入時循環。我試過嘗試使用compareTo
,但我收到Type mismatch: cannot convert from int to boolean error
我該如何改進。我可以使用什麼語法,以便這可以工作。
感謝大家的幫助和貢獻。
編輯:新的工作職能
public static String getSubMenu(String submenu){
Scanner keyboard = new Scanner(System.in);
boolean looped = true;
String chosen="";
do{
chosen = keyboard.next();
keyboard.nextLine();
System.out.print("\n\n");
if("a".equals(option)|| "A".equals(option) || "b".equals(option)|| "B".equals(option) || "c".equals(option)|| "C".equals(option)){
looped = false;
}
else
System.out.println("Wrong input");
}while(looped);
return option;
可能的沒有什麼,我瞄準了,但它仍然做到了工作。
它應該是'char a ='a'',單引號! – NINCOMPOOP 2013-04-18 04:12:38
啊我的不好:(對不起 – Daxter 2013-04-18 04:25:01