任务描述
本关任务:给定一个正整数 n,统计比 n 小的正奇数的个数。
输出格式:n前面共有xx个奇数。
相关知识
在之前的学习中,我们已经了解到 break 语句可以退出整个循环,如果我们只想退出本次循环,那就需要使用 continue 语句。
continue 语句
continue 和 break 有点类似,区别在于 continue 只是终止本次循环,接着还执行后面的循环,break 则完全终止整个循环。
continue 语句使用案例:打印 1 到 10,遇到 4 的倍数时跳过。
public class ContinueTest {
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
//判断i是否为4的倍数,如果是,则退出本次循环。
if (i % 4 == 0) {
continue;
}
System.out.print(i);
}
}
}
输出结果如下:
123567910
从上述案例中可以看出,continue 终止的是本次循环,而不是整个循环。
编程要求
仔细阅读右侧编辑区内给出的代码框架及注释,按照提示编写程序代码。
/*
任务:使用Scanner对象接收给定的一个整数,统计小于该整数的正奇数个数。
输出格式:5前面共有2个奇数。
*/
import java.util.Scanner;
public class ContinueTest {
public static void main(String[] args) {
// 定义变量count,用于统计奇数个数,并赋初值为0。
int count = 0;
// 创建Scanner对象
Scanner sc = new Scanner(System.in);
// 获取输入值
int n = sc.nextInt();
// 请在Begin-End间编写代码
/********** Begin **********/
// 第一步:编写for循环从1到n之间循环取数
for(int i = 0;i < n; i++){
// 第二步:判断是否为偶数,如果是,跳出本次循环,如果不是,对奇数个数变量值加1
if(i%2 == 0){
continue;
}
else{
count++;
}
// 第三步:循环结束,输出总的奇数个数
}
System.out.printf("%d前面共有%d个奇数。",n,count);
/********** End **********/
}
}