所以我正在编写这段代码,它应该根据输入计算用户 GPA,我已经制定了一种方法来询问用户一系列问题,我的目标是获得这样的输出
类(class) 1:
类:用户输入
是 AP:用户输入
成绩:用户输入
类(class) 2:
类:用户输入
是 AP:用户输入
成绩:用户输入
类(class) 3:
类:用户输入
是 AP:用户输入
成绩:用户输入
类(class) 4:
类:用户输入
是 AP:用户输入
成绩:用户输入
为此我编写了这段代码
public static void askQuestions()
{
Scanner input = new Scanner(System.in);
for (int i = 1; i < 5; i++)
{
System.out.println("Course " + i + ":");
System.out.print(" Class: ");
String courseName = input.nextLine();
System.out.print(" is AP: ");
String answer = input.nextLine();
System.out.print(" Grade: ");
int Grade = input.nextInt();
}
}
但我的结果是这样的
类(class) 1:
类:用户输入
是 AP:用户输入
成绩:用户输入
类(class) 2:
类别:是 AP:用户输入
成绩:用户输入
类(class) 3:
类别:是 AP:用户输入
成绩:用户输入
类(class) 4:
类别:是 AP:用户输入
成绩:用户输入
就像第一个循环很好,但循环的其余部分却不好。我做错了什么???
最佳答案
input.nextInt();只读取整数,换行符(\n)仍然保留,所以后续的nextLine读取这个\n, \n 是回车键
看起来像这样
类别:A\n(读取全部)
是 AP:某事\n(读取全部)
年级:23\n(仅读取 23)
类别:\n(来自上一个输入)
你应该这样写 Integer.parseInt(input.nextLine())
关于java - 当没有条件语句时,为什么我的 for 循环会跳过我的扫描仪函数之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58468033/