java 如何将 for 循环转换为 while 循环

java how to convert for loop to do while loop

抱歉,我一直在将其转换为 while 循环,有人可以帮助我吗。

int sum = 0;
int num;

System.out.print("Enter number: ");
num = sc.nextInt();
// Store the user input into variable num                               

// Complete the for loop to start from 1
// and end at num

for (int i = 1 ; i <=num ; i++)
    sum += i;

System.out.println("The sum is " + sum);

这是我的 while 循环

int sum = 0;
int num;

int i = 1;

do {
    sum += i;
    System.out.print("Enter number: ");
    num = sc.nextInt();
    i++;
} while (i <= num);

System.out.println("The sum is " + sum);
int sum = 0;
    int num;
    int i = 0;
    System.out.print("Enter number: ");
    num = sc.nextInt();
    do{
    sum += i;
    i++;
    }
    while ( i <=num );

    System.out.println("The sum is " + sum);

将 i 初始化为零,因为 do-while 在检查之前先执行,而不是在执行之前先检查。你的 do-while 将与你的 for.Or 一样工作,否则你的 do-while 的总和为 1,即使你的 num 为 0。与你的 for 相反,如果 num 为 0,则 sum=0。

第一种情况是在 for 之外输入 num 值,第二种情况是在 do/while 中输入。所以我想你想这样做:

//Variables
int sum = 0;
int num;
int i = 0;

//Select num
System.out.print("Enter number: ");
num = sc.nextInt();

do {
    sum += i;
    i++;
} while (i <=num);

System.out.println("The sum is " + sum);

首先,您可能需要多学习一下循环的基础知识。 while 循环和 do-while 循环的区别在于检查条件的地方。 do-while 循环在执行代码块后检查条件。而 while 循环没有。它在执行前检查。

int num = sc.nextInt();
int i = 1;
int sum = 0;
do{
    sum += i;
        i++;
}while(i <= num);       //check condition after the running do block
System.out.println(sum);

**这取决于您的输入。这意味着如果您的输入为零,则答案将是错误的。因为你的 i = 1 和 sum 等于 1。