Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaApplication1.promptemp(JavaApplication1.java:11)和JavaApplication1.main(JavaApplication1.java:41)上的ArrayIndexOutOfBoundsException_Java_Arrays_Exception - Fatal编程技术网

JavaApplication1.promptemp(JavaApplication1.java:11)和JavaApplication1.main(JavaApplication1.java:41)上的ArrayIndexOutOfBoundsException

JavaApplication1.promptemp(JavaApplication1.java:11)和JavaApplication1.main(JavaApplication1.java:41)上的ArrayIndexOutOfBoundsException,java,arrays,exception,Java,Arrays,Exception,我正在努力获得用户给出的平均温度输入,这是我目前为止的代码,但我得到的是“线程中的异常”main“java.lang.ArrayIndexOutOfBoundsException:-1”,我不知道我哪里做错了 import javax.swing.JOptionPane; public class JavaApplication1 { static double [] weekdays= new double[6]; static String[] weekdaysNames =

我正在努力获得用户给出的平均温度输入,这是我目前为止的代码,但我得到的是“线程中的异常”main“java.lang.ArrayIndexOutOfBoundsException:-1”,我不知道我哪里做错了

import javax.swing.JOptionPane;
public class JavaApplication1 {
    static double [] weekdays= new double[6];
    static String[] weekdaysNames = new String[]{"Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"};

    public static void promptTemp(){


        for(int i=0;i<weekdays.length;i++){
         for(int j=6;j<weekdaysNames.length;j--){
            weekdays[i] =Double.valueOf(JOptionPane.showInputDialog(null, "Please enter" + weekdaysNames[j] + "temperature?",
                    "TempApp", JOptionPane.QUESTION_MESSAGE));



        }

        }
        }

    public static double calcAverage(double [] value){

        double sum=0.0;

        for(int i=0;i<value.length;i++){
            sum=sum+value[i];
        }
        double average = sum/(value.length);
        return average;


    }



    public static void main(String[] args) {
        promptTemp();
        double k=calcAverage(weekdays);
                System.out.println(k);


    }

}
import javax.swing.JOptionPane;
公共类JavaApplication1{
静态双精度[]工作日=新双精度[6];
静态字符串[]weekdaysNames=新字符串[]{“周一”、“周二”、“周三”、“周四”、“周五”、“周六”、“周日”};
公共静态无效PrompTemp(){

for(int i=0;i第二个for循环就是问题所在。j从6开始倒计时。但是j总是小于weekdaysNames.length,并且它将变为-无穷大,这就是为什么要得到ArrayIndexOutOfBounds

  for(int i=0;i<weekdays.length;i++){
     for(int j=6;j<weekdaysNames.length;j--){

for(int i=0;i在第二个for循环中出现问题,该循环始终小于工作日的name.length,从而导致
ArrayIndexOutOfBounds

解决此问题的一个简单方法是将工作日数组的大小更改为
[7]
并仅使用一个for循环。

我尝试为循环提供各种逻辑,但仍然得到ava.lang.ArrayIndexOutOfBoundsException:-1错误,请您帮助,这就是为什么我将您的问题关闭为重复问题。不要做实验。阅读链接问题中的内容并了解其含义!您可以通过und解决此问题了解你的循环在做什么