问题部分内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据。程序输出读到的数据中的奇数和偶数的个数。 评论留言见啦~

有些自己的改动,新手上路,多多关照

import java.util.Scanner;

public class oddeven {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner in = new Scanner(System.in);
        int number = in.nextInt();
        int countodd = 0;
        int counteven = 0;
//        do
//        {
//            if(number % 2 == 0)
//            {
//                counteven = counteven + 1;        counteven++也可以(odd同理)
//            }
//            else
//            {
//                countodd = countodd + 1;
//            }
//            number = in.nextInt();
//        }while(number>0&&number<100000);
        while(number>0&&number<100000)
        {
            if(number % 2 == 0)
            {
                counteven = counteven + 1;
            }
            else
            {
                countodd = countodd + 1;
            }
            number = in.nextInt();
        }
        if(number+1==0)
        {
            System.out.println(countodd+" "+counteven);
        }
        else
        {
            System.out.println("输入有误!");
        }
        in.close();
    }

}


题主你代码正常的,有什么问题吗?出了最后一个输出-1判断可能有bug,输入非-1会没有输出,需要改下逻辑。有帮助麻烦点个采纳【本回答右上角】,谢谢~~

img


import java.util.Scanner;
public class oddeven {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
       
        int countodd = 0;
        int counteven = 0;
        int number;
        do{
           number = in.nextInt();
           if(number>0){
               if(number%2==0)counteven+=1;
               else countodd+=1;
           }
           else if(number!=-1) System.out.println("输入有误!");
        }
        while(number!=-1);
        System.out.println(countodd+" "+counteven);
        in.close();
    }
}