You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Java减法测验代码中的while循环替换为等效for循环

Java减法测验while循环转for循环方案

你只需要按照for循环的三要素(初始值、循环条件、迭代逻辑)对应替换原while逻辑即可,二者运行逻辑完全等价,不会改变任何执行结果。

具体改动步骤

  • 删除原代码中单独定义的int count = 0;声明语句
  • 删除while循环末尾的count++;语句
  • 将原while (count < NUMBER_OF_QUESTIONS)替换为for循环声明

修改后完整代码

import java.util.Scanner;

public class SubtractionQuizLoop {
  public static void main(String[] args) {
    final int NUMBER_OF_QUESTIONS = 5; // 题目总数
    int correctCount = 0; // 答对题目计数
    long startTime = System.currentTimeMillis();
    String output = ""; // 输出字符串初始为空
    Scanner input = new Scanner(System.in);
    
    // 替换后的for循环,三要素完全对应原while逻辑
    for (int count = 0; count < NUMBER_OF_QUESTIONS; count++) {
      // 1. 生成两个随机个位数整数
      int number1 = (int)(Math.random() * 10);
      int number2 = (int)(Math.random() * 10);

      // 2. 如果number1小于number2,交换二者的值
      if (number1 < number2) {
        int temp = number1;
        number1 = number2;
        number2 = temp;
      }

      // 3. 提示学生回答“number1 - number2的结果是多少?”
      System.out.print(
        "What is " + number1 + " - " + number2 + "? ");
      int answer = input.nextInt();

      // 4. 批改答案并展示结果
      if (number1 - number2 == answer) {
        System.out.println("You are correct!\n");
        correctCount++;
      }
      else
        System.out.println("Your answer is wrong.\n" + number1 
          + " - " + number2 + " should be " + (number1 - number2) + "\n");

      output += "\n" + number1 + "-" + number2 + "=" + answer + 
        ((number1 - number2 == answer) ? " correct" : " wrong");
    }

    long endTime = System.currentTimeMillis();
    long testTime = endTime - startTime;

    System.out.println("Correct count is " + correctCount + 
      "\nTest time is " + testTime / 1000 + " seconds\n" + output);
  }
}

逻辑一致性说明

原while循环的执行流程和替换后的for循环完全一致:都是从count=0开始,每执行完一轮循环count自增1,当count等于5时终止循环,所有变量的运算逻辑、输出结果、计时逻辑都不会发生任何变化。

内容的提问来源于stack exchange,提问作者Dylan Thevenard

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:24:07