Вот код в вопросе:массивы ссылок метание ошибки, связанные с сканером
public class GradeBookRunner
{
public static void main(String args[])
{
out.println("Welcome to the Class Stats program!");
int num = 1;
int count = 0;
String stuGrades = "";
String stuName = "";
Scanner keyboard = new Scanner(System.in);
out.print("What is the name of this class? ");
String clsName = keyboard.nextLine();
out.println("\n");
out.print("How many students are in this class? ");
int clsNum = keyboard.nextInt();
Class CSAB = new Class(clsName, clsNum);
out.println("\n");
out.print("Enter the name of student 1 : ");
stuName = keyboard.nextLine();
keyboard.next();
out.print("Enter the grades for " + stuName + "\nUse the format x - grades (2 - 100 100) : ");
//count = keyboard.nextInt();
//keyboard.next();
//for(int i = 0; i < count; i++)
//{
stuGrades += keyboard.nextLine() + " ";
//}
Student add = new Student(stuName,stuGrades);
CSAB.addStudent(num, add);
stuGrades = "";
num++;
out.println();
код для классов, что использует можно найти по следующим ссылкам:
Grades.java: http://pastebin.com/ahYRS2WD
Student.java: http://pastebin.com/EBF4BBCb
Class.java: http://pastebin.com/A1C9fCL1
Моя проблема возникает после запуска кода и ввода ввода для имени класса, размера класса, имени студента, все это нормально, это следующий бит, который вызывает у меня ошибку, когда я вводил оценки для учащегося, такие как 3 - 70.2 65.3 45.1
EDIT Вот ошибка я получаю:
Добро пожаловать в программу класса Статистика! Как называется этот класс? ap
Сколько студентов в этом классе? 1
Введите имя студента 1: вряд ли
Введите классы для едва
Используйте формат х - х классов (2 - 100 100): Исключение в потоке "основного"
ява .util.NoSuchElementException
at java.util.Scanner.throwFor(Unknown Source)
at java.util.Scanner.next(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at java.util.Scanner.nextInt(Unknown Source)
at lab19b.Grades.setGrades(Grades.java:31)
at lab19b.Grades.<init>(Grades.java:25)
at lab19b.Student.<init>(Student.java:27)
at lab19b.GradeBookRunner.main(GradeBookRunner.java:42)
EDIT2
я теперь думаю вопрос в том, что мне нужно stuGrades
читать во всей линии, такие как 3 - 70.2 65.3 45.1
, но я не могу понять, какой сканер заявление мне нужно поставить ввод с клавиатуры в строку
EDIT3
Вот мое свидетельство правильно работающих grades.java
:
package lab19b;
import java.util.Arrays;
import java.util.Scanner;
import static java.lang.System.*;
import static java.util.Arrays.*;
public class GradesTester
{
public static void main(String args[])
{
Grades test = new Grades("5 - 90 85 95.5 77.5 88");
out.println(test);
out.println("sum = " + test.getSum());
out.println("num grades = " + test.getNumGrades());
out.println("low grade = " + test.getLowGrade());
out.println("high grade = " + test.getHighGrade()+ "\n\n");
test.setGrades("9 - 10 70 90 92.5 85 95.5 77.5 88 100.0");
out.println(test);
out.println("sum = " + test.getSum());
out.println("num grades = " + test.getNumGrades());
out.println("low grade = " + test.getLowGrade());
out.println("high grade = " + test.getHighGrade());
с выходом, как это: 90,0 85,0 95,5 77,5 88,0
сумма = 436,0
NUM сортов = 5
низкосортных = 77,5
высокий класс = 95,5
10,0 70,0 90,0 92,5 85,0 95,5 77,5 88,0 100,0
сумма = 708.5
классов Num = 9
низкосортных = 10,0
высокий класс = 100,0
Какую ошибку он выбрасывает? –
Пожалуйста, сообщите об ошибке, которую вы получили. Если это исключение, разместите трассировку стека. Если вы поймаете исключение, измените код для печати трассировки стека (exception.printStackTrace()) – atk
добавлена ошибка в мой OP –