下面是Java程序:-
import java.util.Scanner;
public class Program{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
boolean state=true;
while(state){
System.out.println("Welcome");
System.out.println("Press 1 to enter your name ");
System.out.println("Press 2 to exit");
int input =sc.nextInt();
switch(input){
case 1:{
System.out.print("Enter your name : ");
String name=sc.nextLine();
//String name=sc.next();
System.out.println("Your name is\""+name+"\" and it is a beautiful name.");
}
break;
case 2:{
System.out.println("Goodbye");
state=false;
}
break;
default:{
System.out.println("Wrong input");
}
}
}
sc.close();
}
}
我运行了该程序,当我输入1作为输入时,我无法输入名称变量的值,它自己打印,然后继续执行,但是当我使用next()代替nextLine()时,程序运行了正确地。 为什么我不能在这里使用nextLine()?
答案 0 :(得分:0)
next()
在读取输入后将光标置于同一行。 nextLine()
读取包含单词之间空格的输入