为了账号安全,请及时绑定邮箱和手机立即绑定

Java 错误帮助

Java 错误帮助

qq_笑_17 2021-06-29 13:31:38
有一个问题指向我与这个程序的最后一个问题。它旨在接受用户输入的 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 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

您设置数组大小3。数组的索引从0. 它应该是,

((intArray[0] + intArray[1] + intArray[2]) / 3.0)

而且,如果所有的考试成绩都一样呢?我的意思是你正在使用Set其中一个元素只出现一次。


查看完整回答
反对 回复 2021-07-07
  • 1 回答
  • 0 关注
  • 147 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信