Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中的异常线程_Java_Exception - Fatal编程技术网

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,请阅读。特别注意。你在发布一个好的问题上投入的精力越多:一个容易阅读、理解的问题,而且这个问题越容易吸引相关的人,你得到帮助的速度就越快。祝你好运显示您的代码,让我们了解发生了什么检查这里请使用功能并在问题中提供代码,而不是在一些外部网站上。您仍然缺少任何类型的问题描述。