Java 错误帮助

有一个问题指向我与这个程序的最后一个问题。它旨在接受用户输入的 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));


        }


    }


}

我已经在谷歌上搜索并搜索了一些可能为我指出正确方向的人将是一个很大的帮助。提前致谢。


qq_笑_17
浏览 148回答 1
1回答

RISEBY

您设置数组大小3。数组的索引从0.&nbsp;它应该是,((intArray[0]&nbsp;+&nbsp;intArray[1]&nbsp;+&nbsp;intArray[2])&nbsp;/&nbsp;3.0)而且,如果所有的考试成绩都一样呢?我的意思是你正在使用Set其中一个元素只出现一次。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java