do-while循环要么采用int还是字符串?

时间:2014-12-03 14:38:01

标签: java

当我运行它时,输出是:

“请输入你的名字” 我输入了

“请输入学号” 我输入了

“请输入学生姓名”

“请输入学号”

String nameChoice = "";

do{

        System.out.println("Please input the students name");

        String name = s.nextLine();
        nameChoice = name;

        System.out.println("Please enter that students number");
        int studentNo = s.nextInt();



}while(!nameChoice.equalsIgnoreCase("done"));

1 个答案:

答案 0 :(得分:1)

这是因为s.nextInt()只读取输入的整数,而不读取输入的整数后的换行符。因此,您可以添加s.nextLine()来读取该换行符。

这样做:

int studentNo = s.nextInt();
s.nextLine();

如果您不这样做,下一个nextLine()方法将用于读取您输入的换行符。

避免此问题的另一种方法是使用nextLine()进行阅读并将其解析为integer

int studentNo = Integer.parseInt(s.nextLine());