java中的异常线程
我有一个“线程异常”错误。我创建了一个公共类java中的异常线程,java,exception,Java,Exception,我有一个“线程异常”错误。我创建了一个公共类student,并给它三个类:学生姓名、学生ID和学生GPA。当我运行代码并为student1输入信息时,一切正常。但是当我输入student2时,代码会跳过student2的名称,并给出学生id和GPA。我该怎么补救呢 代码如下: import java.util.Scanner; class Student { public String name; public int id; public float gpa; }
student
,并给它三个类:学生姓名、学生ID和学生GPA。当我运行代码并为student1输入信息时,一切正常。但是当我输入student2时,代码会跳过student2的名称,并给出学生id和GPA。我该怎么补救呢
代码如下:
import java.util.Scanner;
class Student {
public String name;
public int id;
public float gpa;
}
public class learning {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Student s1 = new Student();
System.out.print("Enter your name: ");
s1.name = input.nextLine();
System.out.print("Enter your id: ");
s1.id = input.nextInt();
System.out.print("Enter your gpa: ");
s1.gpa = input.nextFloat();
Student s2 = new Student();
System.out.print("Enter your name: ");
s2.name = input.nextLine();
System.out.print("Enter your id: ");
s2.id = input.nextInt();
System.out.print("Enter your gpa: ");
s2.gpa = input.nextFloat();
Student s3 = new Student();
System.out.print("Enter your name: ");
s3.name = input.nextLine();
System.out.print("Enter your id: ");
s3.id = input.nextInt();
System.out.print("Enter your gpa: ");
s3.gpa = input.nextFloat();
System.out.println("your name: " + s1.name + "\n"
+ "your id: " + s1.id + "\n"
+ "your GPA: " + s1.gpa);
}
}
如果您同时使用
nextLine
和next/nexttint/nextDouble
,您的扫描仪将出现故障。有关更多信息,请参阅
我相应地改变了你的主要方法,它现在可以像你所希望的那样工作了
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
Student s1 = new Student();
System.out.print("Enter your name: ");
s1.name = input.nextLine();
System.out.print("Enter your id: ");
s1.id = Integer.parseInt(input.nextLine());
System.out.print("Enter your gpa: ");
s1.gpa = Float.parseFloat(input.nextLine());
Student s2 = new Student();
System.out.print("Enter your name: ");
s2.name = input.nextLine();
System.out.print("Enter your id: ");
s2.id = Integer.parseInt(input.nextLine());
System.out.print("Enter your gpa: ");
s2.gpa = Float.parseFloat(input.nextLine());
Student s3 = new Student();
System.out.print("Enter your name: ");
s3.name = input.nextLine();
System.out.print("Enter your id: ");
s3.id = Integer.parseInt(input.nextLine());
System.out.print("Enter your gpa: ");
s3.gpa = Float.parseFloat(input.nextLine());
System.out.println("your name: " + s1.name + "\n" + "your id: " + s1.id + "\n" + "your GPA: " + s1.gpa);
}
欢迎来到Stackoverflow,请阅读。特别注意。你在发布一个好的问题上投入的精力越多:一个容易阅读、理解的问题,而且这个问题越容易吸引相关的人,你得到帮助的速度就越快。祝你好运显示您的代码,让我们了解发生了什么检查这里请使用功能并在问题中提供代码,而不是在一些外部网站上。您仍然缺少任何类型的问题描述。