убедитесь, что вы делаете следующее. Я не даю здесь никакого кода. Также не уверен, почему они хотят, чтобы вы использовали array
только!?!
Разбейте ваши требования и посмотрите, чего вам нужно достичь.
- Начните с чтения каждой строки из файла
- каждая строка отделена "" и имеет id_number и gpa
от требования, файл будетне содержит более 1000 студентов (1000 строк). Вы можете объявить это как статическую переменную уровня класса static String[] idnum_array = new String[1000];
и другой массив для gpa, который Double[]
читает каждую строку и затем разделяется с помощью метода String.split(" ")
. Первая переменная - это ваш идентификационный номер, а вторая - ваш gpa. Вы следуете?
поддерживает отдельный счетчик для увеличения позиции массива каждый раз, когда вы устанавливаете эти значения в двух массивах, созданных на шаге 3.
Integer i = 0;
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] splitString = line.split(" ");
idnum_array[i] = String.valueOf(splitString[0]);
gpa_array[i] = Double.valueOf(splitString[1]);
i++;
}
Согласны ли вы с тем, что если мы сделаем idnum_array[7]
для возврата, то это соответствующий результат в gpa из gpa_array[7]
для этого учащегося?
Как выбрать подсчет количества людей в определенной группе,вы. Я хотел бы сделать следующее
- создать статическую переменную уровня класса
static Integer[] group_array = new Integer[]{0,0,0,0,0,0,0,0}; // there are only 8 groups!
- цикл мой
gpa_array
- есть внутри цикла if / else для проверкив какую группу он попадает
- , увеличивая значение этого индекса на 1.
group_array[index]++;
В конце у меня будет массив из 8 элементов, который будет соответствовать 8 группам,[0,200,300,200,0,300,0,0,0]
В итоге вы должны использовать почти 4 метода, похожих на этот. 1. readDataFromFile (String fileName) 2. groupGPAIntoCategory () 3. drawHistogram () 4. calcRank ()
Я бы лично создал Student
объект с самого начала. Это просто чище и читабельнее. Убедитесь, что у вас есть блок try catch
для печати ваших исключений и всегда комментируйте!