Задача состоит в организации и отображении пользовательского ввода, соответствующего отметкам.Связанные массивы Java - Отображение int и String?
Например,
Название: Oscar Mark: 25, Имя: Рубин Марк: 45, Имя: Jake Mark: 13
Так он должен показать:
Rubin 45
Oscar 25
Jake 13
В текущем коде отображаются только имена и метки, но не в упорядоченном порядке. Я подозреваю, что это может иметь отношение к int
и String
, но я не совсем уверен.
private void btnEnterActionPerformed(java.awt.event.ActionEvent evt) {
for (int i = 0; i < 5; i++) {
ArrNames[i] = JOptionPane.showInputDialog("Enter a Name:");
ArrMarks[i] = Integer.parseInt(JOptionPane.showInputDialog("Enter a mark:"));
}
}
private void btnSortActionPerformed(java.awt.event.ActionEvent evt) {
for (int i = 0; i < 5 - 1; i++) {
for (int j = i +1; j < 5; j++) {
if (ArrNames[i].compareTo(ArrNames[j]); //>0 sorts in ascending order <0 sorts in descending order ==0 tests for duplicate string value
//using .compareTo because checking 2 names
{
//sorting the names
String temp = ArrNames[i];
ArrNames[i] = ArrNames[j];
ArrNames[j] = temp;
//sorting the marks
int temp1 = ArrMarks[i];
ArrMarks[i] = ArrMarks[j];
ArrMarks[j] = temp1;
}
}
}
}
private void btnDisplayActionPerformed(java.awt.event.ActionEvent evt) {
for (int i = 0; i < 5; i++) {
txaDisplay.append(ArrNames[i] + "\t\t" + ArrMarks[i] + "\n");
}
}
Я бы настоятельно рекомендовал создать класс для 'StudentResult' или что-то подобное, в котором есть как имя *, так и * метка. Тогда вам нужна только одна коллекция. Вы также должны сделать свой код более легким для чтения, форматируя его ... –
Наш учитель действительно не хочет, чтобы мы занимались классами, я имею в виду, что это должно просто потребовать незначительных изменений. То, как нас учили, это то, что нам нужен цикл for для чего-то вообще; Я знаю, это может показаться глупым или глупым для некоторых более опытных программистов, но я все еще участвую и просто нуждаюсь в помощи со школьной задачей. 0: –
Wow. Это ужасно. Поэтому они рады, что вы создаете сложные графические интерфейсы (операторы импорта значительно упрощают ваш код, кстати, но не используют одну из основных частей Java? Ик. Хорошо, в этом случае я настоятельно рекомендую вам извлечь * соответствующую * часть этого кода (сделать сортировку) из этого почти 200-графического интерфейса в короткое, но полное консольное приложение, чтобы вы могли сосредоточиться на * как раз * эта часть. Затем посмотрите, как вы сортируетесь - на данный момент вы сравниваете * имена *, а не отметки ... –