gpt4 book ai didi

java - 奇数和应用程序无法正确计算负整数?

转载 作者:行者123 更新时间:2023-12-02 01:49:54 24 4
gpt4 key购买 nike

我应该创建一个应用程序,它从用户那里获取一个数字,以便创建从 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);
}

}

最佳答案

这是因为负奇数 %2 返回负一。尝试将其转化为绝对值。

...
if (Math.abs(num%2) == 1) {
sum = sum + num;
num = num + 2;
} else {
num = num + 1;
}

关于java - 奇数和应用程序无法正确计算负整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53136966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com