Java 在迭代后跳过一行
我用java编写了这个简单的代码。但是,当我试图再次使用代码中编写的程序时,它总是跳过第一个条目,即输入名称。我该如何解决这个问题 代码如下:Java 在迭代后跳过一行,java,iteration,Java,Iteration,我用java编写了这个简单的代码。但是,当我试图再次使用代码中编写的程序时,它总是跳过第一个条目,即输入名称。我该如何解决这个问题 代码如下: import java.util.Scanner; public class Try{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); int salary; String name, perform; int choic
import java.util.Scanner;
public class Try{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int salary;
String name, perform;
int choice = 1;
do{
System.out.println("Enter your name:");
name=sc.nextLine();
System.out.println("Enter your performance:");
perform=sc.nextLine();
System.out.println("Enter your salary:");
salary=sc.nextInt();
System.out.println("Name: "+name);
System.out.println("Performance: " + perform);
System.out.println("Salary:" + salary);
System.out.println("Do you want to use the program again?\n[1]Yes\n[2]No");
choice=sc.nextInt();
}while (choice < 2);
}
}
您需要在nextLine之后使用sc.nextLine,因为nextLine不像nextLine那样使用换行符。因此,在第一次迭代后的循环开始时,总会有一个额外的换行符等待。您需要在nextLine之后使用sc.nextLine,因为与nextLine不同,nextLine不会使用换行符。因此,在第一次迭代后的循环开始时,总会有一个额外的换行符等待
salary=Integer.parseInt( sc.nextLine() );
及
而不是使用sc.nextInt
您还需要考虑用Test{{} catch来包装这些行…块以避免整数以外的输入。
使用salary=Integer.parseInt( sc.nextLine() );
及
而不是使用sc.nextInt
您还需要考虑用Test{{} catch来包装这些行…块以避免整数以外的输入