Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 奇数循环不会关闭_Java_Loops - Fatal编程技术网

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如果再这样,它会永远循环。你到底想在这里做什么?是的,我现在明白了…只是被我的逻辑弄糊涂了。是的,我现在明白了…只是被我的逻辑弄糊涂了。