public class Demo8 { public static void main(String[] args) { int sum=0; while(true) { for(int i=1,j=2;i<10;i++) { if(i*j%3==0) continue; sum=sum+i; } if(sum>20) break; } System.out.println(sum); }
时间: 2024-02-14 15:24:37 浏览: 128
这段代码会输出 21。
代码中使用了一个外层的无限循环 `while(true)`,只要内部的条件满足,就会一直执行下去。在循环体中,使用 `for` 循环对变量 `i` 进行迭代操作,初始值为 1,每次迭代将 `i` 的值加 1,直到 `i` 大于等于 10 时,退出循环。在每次迭代中,判断 `i*j` 是否能够被 3 整除,如果能够被 3 整除,则执行 `continue` 语句跳过本次循环,否则将 `i` 的值加到变量 `sum` 中。
在 `for` 循环执行完毕后,判断 `sum` 的值是否大于 20,如果大于 20,则执行 `break` 语句跳出循环。因为当 `i=3` 时,`i*j` 的值为 6,能够被 3 整除,所以在第三次循环中,执行了 `continue` 语句,没有将 `3` 加到变量 `sum` 中。因此,在第四次循环中,`i` 的值为 4,将其加到变量 `sum` 中后,`sum` 的值为 1+2+4=7。然后继续进行下一次循环,直到第六次循环中,`sum` 的值为 1+2+4+5+6=18。在第七次循环中,`i` 的值为 7,将其加到变量 `sum` 中后,`sum` 的值为 1+2+4+5+6+7=25,大于 20,因此执行 `break` 语句跳出循环。
因此,最后输出的 `sum` 的值为 21。
相关问题
public class Demo01 { public static void main(String[] args) { int max = 0;//最高分, 也可以将第一个成绩作为最高分 int min = 100;//最低分, 也可以将第一个成绩作为最低分 int sum = 0;//总分 double avg = 0;//平均分 int num = 10;//num个评委在打分 int score = 0;//输入的分数 Scanner input = new Scanner(System.in); for (int i = 0; i < num;i++ ) { System.out.println("请第"+(i+1)+"个评委打分"); score = input.nextInt(); //判断成绩是否正确 /* if(!(score>=1 && score<=100)){ i--; continue; }*/ do{ if(score>=1 && score<=100){ break; }else{ System.out.println("成绩超出[1,100]的范围,请重新输入"); score = input.nextInt(); } }while(!(score>=1 && score<=100));//true就可以了 //成绩的算法 if(max<score){ max = score; } if(min>score){ min = score; } sum += score; } avg = (sum-min-max)/8.0; System.out.println("选手最高分:"+max); System.out.println("选手最低分:"+min); System.out.println("选手总分:"+sum); System.out.println("选手最后得分:"+avg); } }解释这些代码的含义
这段代码是一个Java程序,主要用于计算评委打分的最高分、最低分、总分和平均分。
1. 首先定义了一些变量:
- `max`:用于保存最高分的变量,初始值为0。
- `min`:用于保存最低分的变量,初始值为100。
- `sum`:用于保存总分的变量,初始值为0。
- `avg`:用于保存平均分的变量,初始值为0。
- `num`:表示评委的数量,这里设定为10。
- `score`:表示输入的评委打分。
2. 创建一个`Scanner`对象`input`,用于接收用户输入。
3. 使用`for`循环遍历评委的数量。在循环中,依次提示每个评委打分,并将输入的分数存储在`score`变量中。
4. 使用`do-while`循环来判断输入的分数是否在有效范围[1, 100]内。如果不在范围内,则提示用户重新输入,直到输入合法的分数为止。
5. 根据评委的打分,更新最高分、最低分和总分。如果当前打分大于最高分,则更新最高分;如果当前打分小于最低分,则更新最低分;同时将当前打分累加到总分中。
6. 循环结束后,计算平均分。将总分减去最高分和最低分,然后除以评委数量减2(即去掉最高分和最低分的评委数量)。
7. 最后,打印出最高分、最低分、总分和平均分的结果。
这段代码演示了如何处理评委打分,并计算相关的统计数据。
public+class+Demo1{ +public+static+void+main+(+String+[]+args+){ +int+sum+=0; +while+(+true+){ +for
以下是一个示例的Java程序,它计算一个无限循环中的数字之和:
```java
public class Demo1 {
public static void main(String[] args) {
int sum = 0;
while (true) {
for (int i = 1; i <= 10; i++) {
sum += i;
}
System.out.println("Sum: " + sum); }
}
}
```
这个程序会无限循环计算数字1到10的和,并在每次计算后打印出结果。请注意,这个程序没有终止条件,所以它会一直运行下去。
阅读全文