这段代码应该能够读取用户输入并执行菜单选项中的任何选项,我错过了什么?样本输出
输入示例文字: 我们将继续我们在太空中的探索。
你输入了:我们将继续我们在太空中的任务。 菜单 c - 非空白字符数 w - 单词数量 f - 查找文字 r - 替换所有! s - 缩短空间 q - 退出
选择一个选项: C 非空白字符数:6
import java.util.Scanner
public class AuthoringAssistant {
public static void main(String [] args) {
Scanner scnr = new Scanner(System.in);
String mainString = "";
System.out.println("Enter a sample text:");
mainString = scnr.nextLine();
System.out.print("You entered: ");
System.out.println(mainString);
return mainString;
}
public static void printMenu(){
Scanner scnr = new Scanner(System.in);
char menuChoice = '?';
String inputString="";
while(menuChoice != 'q'){
System.out.println("MENU");
System.out.println("c - Number of non-whitespace characters");
System.out.println("w - Number of words");
System.out.println("f - Find text");
System.out.println("r - Replace all !'s");
System.out.println("s - Shorten spaces");
System.out.println("q - Quit");
menuChoice = scnr.next().charAt(0);
if(menuChoice == 'c'){
getNumOfNonWSCharacters();
}else if(menuChoice == 'w'){
getNumOfWords();
}else if(menuChoice == 'f'){
findText();
}else if(menuChoice == 'r'){
replaceExclamation();
}else if(menuChoice == 's'){
shortenSpace();
}
}
return;
}
}
答案 0 :(得分:0)
您从未在主要方法中调用方法printMenu()
,因此它无法做到比
Enter a sample text: We'll continue our quest in space.
You entered: We'll continue our quest in space.
只需添加一行
即可public static void main(String [] args) {
...
printMenu();
}
但你应该分享Scanner
而不是instanciate two。
并删除main中的return mainString;
,这是一种void方法。
答案 1 :(得分:0)
printMenu()
功能的调用。这意味着您的程序永远不会执行该部分代码。