Java 奇数循环不会关闭
当我输入偶数时,代码工作并要求输入奇数,但当我输入奇数时,它从不关闭并对每个奇数进行求和Java 奇数循环不会关闭,java,loops,Java,Loops,当我输入偶数时,代码工作并要求输入奇数,但当我输入奇数时,它从不关闭并对每个奇数进行求和 import java.util.Scanner; public class OddSums { public static void main(String[] args){ Scanner in = new Scanner(System.in); System.out.println("Enter an odd number"
import java.util.Scanner;
public class OddSums {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
System.out.println("Enter an odd number");
int oddSumMax = in.nextInt();
int oddSum = 0;
do {
if (oddSumMax % 2 == 1) {
for(int i=1; i<=oddSumMax; i++) {
if (i % 2 == 1){
oddSum = oddSum + i;
}
}
System.out.println(oddSum);
} else if(oddSumMax % 2 == 0) {
System.out.println("This is even Please enter an odd number");
oddSumMax = in.nextInt();
}
} while (oddSumMax % 2 == 1 );
}
}
import java.util.Scanner;
公共类奇数{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(系统输入);
System.out.println(“输入奇数”);
int oddSumMax=in.nextInt();
int oddSum=0;
做{
if(oddSumMax%2==1){
对于(int i=1;i您应该分离循环。一个循环确保用户输入奇数,另一个循环执行计算
Scanner in = new Scanner(System.in);
int oddSumMax;
// Get user input
do {
// TODO: handle case where user does not enter a number
System.out.println("Enter an odd number");
oddSumMax = in.nextInt();
} while (oddSumMax % 2 == 0);
// Calculate
int oddSum = 0;
for (int i = 1; i <= oddSumMax; i += 2) {
oddSum += i;
}
System.out.println(oddSum);
Scanner-in=新的扫描仪(System.in);
int-oddsumax;
//获取用户输入
做{
//TODO:处理用户未输入数字的情况
System.out.println(“输入奇数”);
oddSumMax=in.nextInt();
}而(oddSumMax%2==0);
//算计
int oddSum=0;
对于(int i=1;i您应该分离循环。一个循环确保用户输入奇数,另一个循环执行计算
Scanner in = new Scanner(System.in);
int oddSumMax;
// Get user input
do {
// TODO: handle case where user does not enter a number
System.out.println("Enter an odd number");
oddSumMax = in.nextInt();
} while (oddSumMax % 2 == 0);
// Calculate
int oddSum = 0;
for (int i = 1; i <= oddSumMax; i += 2) {
oddSum += i;
}
System.out.println(oddSum);
Scanner-in=新的扫描仪(System.in);
int-oddsumax;
//获取用户输入
做{
//TODO:处理用户未输入数字的情况
System.out.println(“输入奇数”);
oddSumMax=in.nextInt();
}而(oddSumMax%2==0);
//算计
int oddSum=0;
对于(int i=1;i这是因为你的oddSumMax
永远不会是偶数。当你的逻辑在一个循环中,你的条件永远不会是偶数,它将永远循环。你到底想在这里做什么?那是因为你的oddSumMax
永远不会是偶数。当你的逻辑在一个循环中,你的条件将永远是n如果再这样,它会永远循环。你到底想在这里做什么?是的,我现在明白了…只是被我的逻辑弄糊涂了。是的,我现在明白了…只是被我的逻辑弄糊涂了。