【发布时间】:2019-05-26 23:30:55
【问题描述】:
我正在尝试制作一个程序,该程序允许用户将标记插入数组并对其进行排序。我该怎么做?
private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {
String newMark;
newMark = userText.getText().substring(0, 1).toUpperCase() + userText.getText().substring(1);
if (Integer.parseInt(newMark) <= 100 && Integer.parseInt(newMark) >= 0) {
studentMarks = new ArrayList<Integer>();
studentMarks.add(Integer.parseInt(newMark));
markDisplay.append(studentMarks +"\n");
} else {
markDisplay.append("Only marks between \n 0 and 100 are accepted. \n");
}
}
private void sortButtonActionPerformed(java.awt.event.ActionEvent evt) {
studentMarksSorted = new ArrayList<Integer>();
studentMarksSorted = studentMarks;
Collections.sort(studentMarksSorted);
markDisplay.setText(studentMarksSorted + "\n");
}
我希望输出是用户按数字降序输入的标记,替换原始的未排序列表,但输出只是用户添加到数组中的最后一个数字。
【问题讨论】:
-
这是一个看起来很奇怪的 Javascript,你能告诉我你使用的是哪个版本,以便我研究它吗?
-
我相信它是 Java SE,但是,我不确定更多,它只是 Netbeans IDE 8.2 上的默认设置。
-
它是 Java,而不是 JavaScript(正如 @Snow 已经知道的那样),我已经删除了 javascript 标签,但如果您需要更完整的答案,请考虑创建一个有效的 minimal reproducible example,我们可以运行和测试的代码。请注意,我们不是要求整个程序,只是一个演示问题的小程序。
-
这个问题最初是作为一个副本关闭的:stackoverflow.com/questions/8938235/sort-an-array-in-java,显然是基于问题标题询问如何按升序对数组进行排序。该帖子中给出的答案都是在添加数据后对数组进行排序。但是,OP 知道 Colloections.sort(...),所以我认为实际的问题是 OP 如何尝试将数据添加到 ArrayList。所以我重新提出了这个问题来解决这个问题。
标签: java arrays swing sorting average