java如何转换for循环来做while循环

时间:2016-06-13 11:20:47

标签: java

很抱歉,我仍然坚持要将其转换为while循环,任何人都可以帮助我。

gc.setForeground(display.getSystemColor(SWT.COLOR_BLUE));

这是我做的while 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);

3 个答案:

答案 0 :(得分:3)

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-work一样工作。否则你的do-while将得到1,即使你的num是0.与你的相反,如果num为0,则sum = 0。

答案 1 :(得分:1)

在第一种情况下,在for / while之外输入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);

答案 2 :(得分:0)

首先,您可能需要更多地研究循环的基础知识。 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.