如何纠正循环中的差一错误?

问题描述 投票:0回答:1

给你一个方法,应该打印从 1 到 N 的数字。但是,存在一个离一错误,导致循环跳过最后一个数字。识别并纠正错误。

public class PrintNumbers {
    public static void printNumbers(int N) {
        for (int i = 1; i < N; i++) { // Incorrect loop condition
            System.out.print(i + " ");
        }
    }

    public static void main(String[] args) {
        printNumbers(5); // Expected Output: 1 2 3 4 5
                         // Actual Output: 1 2 3 4
    }
}
public static void main(String[] args) {
        printNumbers(5); // Expected Output: 1 2 3 4 5
                         // Actual Output: 1 2 3 4
    }
}

javascript java
1个回答
0
投票

问题分析:

• 循环条件 i < N causes the loop to stop before printing N. • This is an off-by-one error commonly seen in loops when the condition is set incorrectly.

public class PrintNumbers {
public static void printNumbers(int N) {
    for (int i = 1; i <= N; i++) { // Corrected loop condition
        System.out.print(i + " ");
    }
}

public static void main(String[] args) {
    printNumbers(5); // Correct Output: 1 2 3 4 5
}

}

说明:

• for 循环中的条件由 i 改变 < N to i <= N, allowing the loop to include the last number N. • This fixes the off-by-one error and ensures that all numbers from 1 to N are printed as expected.

© www.soinside.com 2019 - 2024. All rights reserved.