小编Dav*_*555的帖子

Java数组索引超出界限

我刚刚在Arrays中启动了一个单元,我给了一些示例代码来查看这个非常基本的Arrays入门程序.基本上我所要做的就是制作两个阵列,询问一周中那天的温度.收集信息后,它会简单地将其吐出一个像这样的字符串.

周一的气温是16度

星期二的气温是18度

...等

根据我从我收到的示例代码中理解的内容,我正在做正确的事情.但是当试图运行该程序时(在Netbeans中)我得到了这个错误.

"线程中的异常"主"java.lang.ArrayIndexOutOfBoundsException:7 at temperature.Temperatures.main(Temperatures.java:27)Java结果:1"

这是代码:

public static void main(String[] args)throws IOException {
        // TODO code application logic here
        BufferedReader br = new BufferedReader (new InputStreamReader (System.in));
        String temp[]= new String[7];
        String day[]= new String[7];
        day[1]=("Monday");
        day[2]=("Tuesday");
        day[3]=("Wednesday");
        day[4]=("Thursday");
        day[5]=("Friday");
        day[6]=("Saturday");
        day[7]=("Sunday");
        for (int i=0; i <7; i++){
            System.out.println("Please enter the temperature for" + day[i]);
            temp[i]=br.readLine();
        }
        for (int i=0; i <7; i++){
        System.out.println("The high temperature on " + day[i]+ " was "+ temp[i]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

java arrays

6
推荐指数
1
解决办法
2358
查看次数

Java:检测变量是String还是Integer

我正在为我的一些家庭作业寻求帮助.我希望用户输入数字字符串,然后将其转换为整数.但我想制作一个循环来检测用户是否输入了错误的值,例如"One Hundred"为"100".

我在想的是做这样的事情:

    do{
        numStr = JOptionPane.showInputDialog("Please enter a year in numarical form:"
                        + "\n(Ex. 1995):");
        num = Integer.parseInt(numStr);
            if(num!=Integer){
            tryagainstr=JOptionPane.showInputDialog("Entered value is not acceptable."
                                  + "\nPress 1 to try again or Press 2 to exit.");
    tryagain=Integer.parseInt(tryagainstr);
            }
            else{
            *Rest of the code...*
            }
            }while (tryagain==1);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何定义"整数"值.我基本上希望它看看它是否是一个数字,以防止它在用户输入错误的东西时崩溃.

java string

2
推荐指数
2
解决办法
2万
查看次数

猜圈循环Java

我正在为一个作业制作一个程序,我必须让用户猜出一个锁的3个数字来解锁它.如果他们不能在3个猜测中完成它的游戏结束.很简单,就我所知,我做得对,所以不知道我哪里出错了.这是代码部分:

do{
    try{
        String g1Str = JOptionPane.showInputDialog("Enter number 1:");
        g1 = Integer.parseInt(g1Str);
        looper = 2;
    }
    catch(NumberFormatException e){
        JOptionPane.showMessageDialog(null,"Not a Number");
        looper = 1;
    }
    if(g1!=num1){
        JOptionPane.showMessageDialog(null, "Incorrect guess, try again");
        lives = lives - 1;
        looper = 1;
    }
    else if(g1==num1){
        JOptionPane.showMessageDialog(null, "Correct!");
        looper = 2;
    }
}while(looper==1||lives!=0);
Run Code Online (Sandbox Code Playgroud)

这是我的想法:要求用户输入数字,尝试将字符串转换为整数.我使用try catch,以确保用户确实输入了数字而不是字母.之后,我看看猜测是否等于实数.如果没有,你就会失去生命(生命被宣布为3),然后将looper设置为1,这样你就可以尝试再次猜测你是否有足够的生命.如果正确,则弯针设置为2,并且循环断开,此时用户可以猜出第二个数字.我只希望循环保持活动,只要你有足够的生命,所以我将"while"语句设置为当looper为1时,或当生命不等于0时.但它似乎没有打破循环如果生命下降到0.先谢谢

java loops

1
推荐指数
1
解决办法
144
查看次数

标签 统计

java ×3

arrays ×1

loops ×1

string ×1