java如何转换为循环做while循环
问题描述:
对不起,我被困在转换这做while while循环可以请任何人帮助我。java如何转换为循环做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);
,这是我的do 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);
初始化我到零,因为DO-而第一做检查,而不是为第一检查前做了。而且你的do-while将和你的for一样。或者你的do-while将会有1的总和,即使你的num是0.相对于你而言,如果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和总和等于1.
你的while循环执行num + 1次。 – Maroun
当你的输入*在for循环和*在while循环中时,你可能会有不同的行为。 – Filburt
'for'循环首先检查条件以查看它是否可以迭代,'do-while'首先迭代,然后检查条件是否应该再次迭代。如果你想要有完全相同的行为,你需要在输入'do-while'之前添加条件检查,但是在这一点上它意味着你应该简单地使用'while {}'循环。 – Pshemo