繁体   English   中英

为初学者做 While 循环

[英]Do While loops for beginners

我正在尝试编写一个 Java 程序,该程序生成 0-100 范围内的 100 个随机数,并计算有多少等于或大于用户输入的值。 我受到不允许使用数组的限制,并且必须插入 for 循环并将人员输入限制为 30 到 70 之间的数字,然后再根据有多少随机数等于或高于该输入进行检查

    public static void main(String[] args) {
Scanner in = new Scanner (System.in);
    
    
    System.out.println("Enter a value between 30 and 70: ");
    int i = in.nextInt();
    
    do {
        System.out.println("The value is out of range, please re-enter: ");
    } while (i <= 30 || i >= 70);
        break;

    do {
        System.out.print("The value entered by the user is: " + i);
    in.nextLine();
    do {
        for (int ia = 0; ia < 3; ia++){
              int random = (int)(10.0 * Math.random());
                System.out.print("There are " + random + " numbers larger than " + i);
                    break;
        }while (i >= 31 || i <= 69);
            break;
            while (true);
        in.close();
        }    
    }
}

}

我满脑子都是语法错误等错误,插入“}”来完成块语法错误,插入“while(表达式);” 完成 DoStatement 并且无法弄清楚如何运行此程序。 我可以说它只会变得更糟 } 我添加的越多,但我想不出该怎么做

将您的三个循环分解为方法。 然后嵌套它们就更清楚了。 像这样写伪代码:

class {

static main () {
   do {
      ask user for more input;
      getInput ();
      if (input signals end) {
         break;
      }
      count (input);
      if (count says input was bad) {
          report problem to user;
      }
   } while (computer's patience has not worn out);
}

static count (input) {
    check input;
    if (input is bad) {
        return;
    }
    for (i 0 to 99) {
       generate random number;
       if (number >= input) {
          count++;
       }
    }
    report or return count;
}

如果您编写大量伪代码,编程任务很快就会变得更容易。 不久你就会把它们写在你的脑海里。 这是要走的路。

当遇到编程困难时,请执行以下三件事:1) 编写伪代码 2) 将伪代码精炼为可以工作的代码,3) 手动遍历代码。 然后重复 2) 和 3) 直到代码编译并准备好进行调试。

很快,您就会在脑海中进行演练。

暂无
暂无

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

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