有一个问题指向我与这个程序的最后一个问题。它旨在接受用户输入的 3 个测试分数。然后除以考试分数的平均数。我运行程序并能够显示输入框,尽管当我到达最后一步时我收到错误...“线程“main”中的异常 java.lang.ArrayIndexOutOfBoundsException: 3 at Java_Lab_5.main(Java_Lab_5.java :40)这是我的代码import java.util.SortedSet;import java.util.TreeSet;import javax.swing.JOptionPane;import javax.swing.JFrame; public class Java_Lab_5 { public static void main(String[] args) { { { String test1= JOptionPane.showInputDialog("Test Score 1: "); String test2= JOptionPane.showInputDialog("Test Score 2: "); String test3= JOptionPane.showInputDialog("Test Score 3: "); int int1 = Integer.parseInt(test1); int int2 = Integer.parseInt(test2); int int3 = Integer.parseInt(test3); SortedSet<Integer> set = new TreeSet<>(); set.add(int1); set.add(int2); set.add(int3); Integer [] intArray = set.toArray(new Integer[3]); JFrame frame = new JFrame(); JOptionPane.showInternalMessageDialog(frame.getContentPane(), String.format("Result %f", (intArray[1] + intArray[2] + intArray[3]) / 3.0)); } }}我已经在谷歌上搜索并搜索了一些可能为我指出正确方向的人将是一个很大的帮助。提前致谢。
1 回答
![?](http://img1.sycdn.imooc.com/533e4bec0001ae5302000200-100-100.jpg)
RISEBY
TA贡献1856条经验 获得超5个赞
您设置数组大小3
。数组的索引从0
. 它应该是,
((intArray[0] + intArray[1] + intArray[2]) / 3.0)
而且,如果所有的考试成绩都一样呢?我的意思是你正在使用Set
其中一个元素只出现一次。
添加回答
举报
0/150
提交
取消