У меня возникают проблемы при компиляции кода, который запрашивает различные входные данные учащихся в массивах и распечатывает их - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь скомпилировать код, который просит пользователя ввести данные ученика и сохраняет 10 из них в массиве. Я знаю, что могу сделать это с записями, но я хотел попробовать эту программу, используя массивы. Я разделил программу на несколько методов, но после выполнения она работает правильно при вводе 10 имен учащихся, но затем выдает ИСКЛЮЧЕНИЕ INPUT MISMATCH при выполнении ввода для идентификатора студента. Может кто-нибудь сказать мне, что не так и как я могу это исправить.

import java.util.Scanner;

class StudentInfo {

public static void main (String [] args){

    String nameStudent [] = takeNameInput();

    int idStudent [] = takeIDInput();

    int markStudent [] = takeMarkInput();

    printArrays(nameStudent, idStudent, markStudent);

    System.exit(0);
}

public static String [] takeNameInput(){

    Scanner scanner = new Scanner(System.in);

    String studentName [] = new String[10];

    for(int i = 0; i < studentName.length; i += 1){

        System.out.println(" ");

        System.out.println("ENTER THE NAME OF 10 STUDENTS");

        String name = scanner.nextLine();

        studentName [i] = name;
    }

    return studentName;
} 

public static int [] takeIDInput(){

    Scanner scanner = new Scanner(System.in);

    int studentID [] = new int[10];

    for(int b = 0; b < studentID.length; b += 1){

        System.out.println(" ");

        System.out.println("ENTER THE STUDENT ID OF 10 STUDENTS");

        int id = scanner.nextInt();

        studentID [b] = id;
    }

    return studentID;
}

public static int [] takeMarkInput(){

    Scanner scanner = new Scanner(System.in);

    int studentMark [] = new int [10];

    for(int z = 0; z < studentMark.length; z += 1){

        System.out.println(" ");

        System.out.println("ENTER THE MARKS OF 10 STUDENTS");

        int mark = scanner.nextInt();

        studentMark [z] = mark;
    }

    return studentMark;
}

public static void printArrays(String [] nameStudent, int [] idStudent, int [] markStudent){

    System.out.println(" ");

    for (int c = 0; c < nameStudent.length; c++){

        System.out.println("NAME: "+nameStudent[c]+", ID: "+idStudent[c]+", MARK: "+markStudent[c]);
    }

}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...