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

无论我正确输入,Java 都没有运行我的扫描仪

无论我正确输入,Java 都没有运行我的扫描仪

慕的地6264312 2023-07-28 16:08:54
在没有大括号的 while 中,只有紧跟在 while 后面的语句才会被执行。在您的情况下,这意味着只有 while 之后的第一个语句将被循环,即“System.out.println(myintarray[index]);”。由于“index++;” 未达到时,您的索引将具有相同的值 0,因此您的程序将始终打印数组的第一个元素。您的代码范围将在大括号中转换为:while(index < 3) {    System.out.println(myintarray[index]);}index++;要执行多个语句,请将其全部括在大括号内。while(index < 3) {    System.out.println(myintarray[index]);    index++;}
查看完整描述

2 回答

?
aluckdog

TA贡献1847条经验 获得超7个赞

我确实将运算符更改为 char,现在它可以工作了:-


import java.util.Scanner;

class main { //Main

 public static void main(String[] args) {

    Scanner scan = new Scanner(System.in);

    int firstnumber = 0;

  int secondnumber = 0;

  char operator;


  boolean erase = true;




  while (erase) { //While Loop (main)

   System.out.println("Enter First Number");

   firstnumber = scan.nextInt();




   System.out.println("Enter Second Number");

   secondnumber = scan.nextInt();


   System.out.println("Select Operator.");

   operator = scan.next().charAt(0);

   System.out.println("For Multiplaction: Type X");

   System.out.println("For Division: Type %");

   System.out.println("For Addition: Type +");

   System.out.println("For Subtraction: Type -");


  } //While Loop (main)

 }

} //Main 

也许您的 nextLine() 不会触发,因为您已经有两个扫描仪提示,因此它的行为是被接受的输入。也许你应该对此进行更多调试。尽管如此,仍然scan.next();有效...尝试使用 Oracle JDK 1.8.0_u221 在 Visual Studio Code 1.38.1 上


查看完整回答
反对 回复 2023-07-28
?
蓝山帝景

TA贡献1843条经验 获得超7个赞

scan.next();代替使用。


public static void main(String[] args) {

    int firstnumber;

    int secondnumber;

    String operator;

    Scanner scan = new Scanner(System.in);

    while (true) { //While Loop (main)

        System.out.println("Enter First Number");

        firstnumber = scan.nextInt();



        System.out.println("Enter Second Number");

        secondnumber = scan.nextInt();


        System.out.println("Select Operator.");

        System.out.println("For Multiplaction: Type X");

        System.out.println("For Division: Type %");

        System.out.println("For Addition: Type +");

        System.out.println("For Subtraction: Type -");

        operator = scan.next();


        System.out.println(firstnumber);

        System.out.println(secondnumber);

        System.out.println(operator);

    } //While Loop (main)

}


查看完整回答
反对 回复 2023-07-28
  • 2 回答
  • 0 关注
  • 107 浏览

添加回答

举报

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