Java 为什么可以';我是否在try/catch中键入多个输入?
我在尝试在do while循环、try/catch语句中获取多个输入时遇到困难:Java 为什么可以';我是否在try/catch中键入多个输入?,java,try-catch,java.util.scanner,Java,Try Catch,Java.util.scanner,我在尝试在do while循环、try/catch语句中获取多个输入时遇到困难: FileOutputStream file; PrintStream pen; String name; char exitInput; try { file = new FileOutputStream("names.txt"); pen = new PrintStream(file); do { S
FileOutputStream file;
PrintStream pen;
String name;
char exitInput;
try {
file = new FileOutputStream("names.txt");
pen = new PrintStream(file);
do {
System.out.print("Enter a name: ");
name = input.nextLine();
pen.print(name + "\n");
System.out.println("Would you like to enter more names?");
System.out.print("Option(y/n): ");
exitInput = input.next().charAt(0);
} while(exitInput != 'n');
pen.close();
} catch(IOException exc) {
System.out.println("<INPUT ERROR>");
}
当键入两个“name=input.nextLine();”时,这个问题似乎可以解决,但这不是一个很好的解决方案。input.next()
只使用一个令牌,而不是整行。当您调用input.nextLine()
时,它将消耗该行的其余部分
要修复此问题,请将input.next()
替换为input.nextLine()
,而(exitInput!=“n”)
字符串不能像这样进行比较。谢谢,但是“exitInput”是一个char变量。而且,这不是我想要解决的问题。
Enter a name: Would you like to enter more names?
Option(y/n):