繁体   English   中英

不能使String等于方法,并且不能将Strings转换为Numbers。

[英]Can't make String equal method and Converting Strings to Numbers work together.

这是一个Java初学者的问题。 该程序并不复杂,它只是询问用户输入的等级,然后在用户输入“ y”时完成输入,然后计算最大值,最小值,平均值和总计。

我的麻烦是输入y时无法停止循环。 非常感谢,如果有人可以帮助我。 我尝试了很多方法来解决这个问题。

    do
       { 
        System.out.println("please go on");
        input = keyboard.next();                    
        grade = Integer.parseInt(input);
        InputTimes++;
        if (grade>Maxgrade)
        {   
            Maxgrade = grade;       
         }

        if(Mingrade>grade)
        {
            Mingrade= grade;            
        }

        if (input.equals("y"))
        {   
            GameOver = true;
            System.out.println("yyyyyyy");
            break;
        }   
        else 
        {
            GameOver = false;
            System.out.println("nnnnnn");   
        }   
        totalgradeNoF = grade+totalgradeNoF;

    }while(GameOver==false);
Scanner keyboard = new Scanner(System.in);
int Maxgrade = 0, Mingrade = 0, InputTimes = 0, grade = 0, totalgradeNoF = 0;
boolean GameOver = false;
String input = "";
do {
    System.out.println("Please go on : ('y' to stop)");
    input = keyboard.nextLine();
    if (input.equals("y")) {
        GameOver = true;
    } else {
        grade = Integer.parseInt(input);
        InputTimes++;

        if (grade > Maxgrade) {
             Maxgrade = grade;
        }
        if (Mingrade > grade) {
             Mingrade = grade;
        }

        totalgradeNoF = grade + totalgradeNoF;
   }
} while (!GameOver);

有些事情要改变:

  • 您需要先检查“ y”,如果不是“ y”,则可以转换为int
  • 您不需要使用break这样
  • 您可以使用!GameoOver代替GameOver==false
  • 无需在每次迭代时都将Gameover=false设置为初始化

当您输入“ y”时,NumberFormatException即将到来,因此您需要处理此异常,然后在键入“ y”后可以退出循环。

用于Scanner方法nextInt()nextLine()来读取输入。

例如:-

Scanner scan = new Scanner(System.in);

然后我们可以使用scan.nextInt()来获取int

我们可以使用scan.nextLine()获取字符串

https://www.tutorialspoint.com/java/util/scanner_next.htm
此链接可能对您有帮助。

对不起我的英语不好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM