【发布时间】:2018-11-04 18:17:50
【问题描述】:
我应该创建一个从用户那里获取数字的应用程序,以便创建从 1 到用户输入的数字的范围。然后我需要计算 1 和用户输入的数字之间的所有奇数的总和。这适用于正整数但不适用于负整数?
import java.util.Scanner;
public class OddSumApplication {
public static void main (String[]args){
int sum = 0;
System.out.print("Enter a positive or negative integer: ");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
if (num == 1){
System.out.println(num);
System.out.println("Sum = " + num);
}
else{
while (num != 1){
if (num >= 1){
if (num % 2 == 1){
sum = sum + num;
num = num - 2;
}
else{
num = num - 1;
}
}
else{
if (num % 2 == 1){
sum = sum + num;
num = num + 2;
}
else{
num = num + 1;
}
}
}
}
sum = sum + 1;
System.out.print("\nSum = " + sum);
}
}
【问题讨论】:
-
使用
num的绝对值,就不需要if (num >= 1){...} else {...}块了。
标签: java