从键盘输入一个正整数n(如果输入数据不符合要求,提醒用户重新输入,直到满足要求为止),求解1-n之间所有奇数的和。请使用循环语句实现
3条回答 默认 最新
Aonzo 2022-01-18 11:47关注本题属于java比较基础的编程题,建议自己动脑思考,动手实操。
代码如下:(1-n之间不包括n本身的奇书之和)import java.util.Scanner;
public class question_CSDN {
/**
* 从键盘输入一个正整数n(如果输入数据不符合要求,提醒用户重新输入,直到满足要求为止). 求解1-n之间所有奇数的和。请使用循环语句实现
*
*
* @param args
*/
public static void main(String[] args) {
int sum = 0;
int count = 1;// 用于判断循环输入是否结束
Scanner input = new Scanner(System.in);// 在循环体外部创建输入流,只需创建一次!
System.out.println("请输入一个正整数:");
do {
if (input.hasNextInt()) {// 判断输入的数据类型,若正确则执行下面程序
int n = input.nextInt();
if (n <= 0) {//n<=0,置count为0,重新输入
System.out.println("输入错误!请重新输入!");
count = 0;
} else {//n为整形且大于零,则继续计算
for (int i = 0; i < n; i++) {
if (i % 2 == 1) {// i为奇数
sum += i;
}
}
}
} else {// 若输入的数据类型错误,则返回重新输入
count = 0;
System.out.println("输入错误!请重新输入!");
}
} while (count == 0);
input.close();//关闭输入流
System.out.println("1-n之间的奇数之和为"+sum);
}}
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报