Java 转换;而";“循环到”;至于;及;“边做边做”;
希望转换以下代码,将“while”循环中的整数值添加到“for”和“do-while”循环中。我设法让它与“for”和“while”循环一起正常工作,但当我尝试将同一个循环转换为“do-while”时,我得到了一些奇怪的数字Java 转换;而";“循环到”;至于;及;“边做边做”;,java,loops,for-loop,while-loop,do-while,Java,Loops,For Loop,While Loop,Do While,希望转换以下代码,将“while”循环中的整数值添加到“for”和“do-while”循环中。我设法让它与“for”和“while”循环一起正常工作,但当我尝试将同一个循环转换为“do-while”时,我得到了一些奇怪的数字 import java.util.Scanner; public class CountLoop{ public static void main (String[] args){ Scanner in = new Scanner (System.in);
import java.util.Scanner;
public class CountLoop{
public static void main (String[] args){
Scanner in = new Scanner (System.in);
int i = -1;
int limit = 0;
System.out.println("Please enter a number");
String end1 = in.nextLine();
int end = Integer.parseInt(end1);
/*while (i < end){
i++;
limit = (i + limit);
*/
//for (i = -1; i < end; limit = (i + limit)) i++;{
do {
limit = (i + limit);
i++;
} while ((i < end));
System.out.println("The sum of the numbers in between 0 and " + end + " is i = " + limit);
}
//System.out.println("The sum of the numbers in between 0 and " + end + " is i = " + limit);
}
import java.util.Scanner;
公共类计数循环{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
int i=-1;
整数极限=0;
System.out.println(“请输入一个数字”);
字符串end1=in.nextLine();
int end=Integer.parseInt(end1);
/*while(i
正如我所说,“while”和“for”循环工作正常,因此我对它们进行了注释,将重点放在“do-while”上循环,这给了我接近,但输出值不正确。例如,当我输入100时,预期的答案是5050,但无论出于什么原因,我得到4949。我试图围绕变量的初始值进行更改,并执行添加“end”之类的操作回到它,但这会让一切变得更糟。我不确定我在这里做错了什么,但任何帮助都是值得的。while循环在添加到结果之前是递增的。这意味着循环条件
while(Ii
等于end
值时,将导致循环退出,但在最后一次迭代中,end值已添加到总数中
要在
do while
循环中获得相同的行为,请将结束条件更改为,您必须按如下方式交换行:
do {
i++;
limit = (i + limit);
} while ((i < end));
do{
i++;
极限=(i+极限);
}而((i
因此,您的while
将与初始的while相同,我认为while
和do while
在这种情况下都将以相同的方式运行。请尝试此方法
do {
i++;
limit = (i + limit);
} while ((i < end));
System.out.println("The sum of the numbers in between 0 and " + end + " is i = " + limit);
do{
i++;
极限=(i+极限);
}而((i
do…while语句创建一个循环,该循环执行指定的语句,直到测试条件的计算结果为false。执行该语句后,将对该条件进行计算,导致指定的语句至少执行一次。如果while循环对您有效,请以相同的方式执行:i++;
limit=(i+limit)
为什么你的while在do-while中有两个括号?我怀疑我在这里有什么事要做,但是把它放在while(I
中
do {
i++;
limit = (i + limit);
} while ((i < end));
System.out.println("The sum of the numbers in between 0 and " + end + " is i = " + limit);