JAVA只使用一个计数器显示多少个ODD和EVEN数字?

时间:2015-07-13 00:47:02

标签: java

我在java中有一个程序,要求用户输入10个整数,并打印出ODD的数量和EVEN的数量。

import java.io.*;
public class Count {

    public static void main(String[] args) {

        int i, , even_ctr=0, odd_ctr = 0;
        String input = " ";

        BufferedReader in = new BufferedReader ( new InputStreamReader(System.in));

        for(i = 1; i <=10; i++){
            try{
            System.out.print("Input integer number: ");
                input = in.readLine();
               }catch(IOException e){
                System.out.println("Error!");
               }

               n = Integer.parseInt(input);

               if(n % 2 == 0)
                even_ctr++;      //counter for even
               if(n % 2 == 0)
                odd_ctr++;      //counter for odd
        }System.out.println("EVEN: " + even_ctr + "\nODD: "+ odd_ctr);
    }
}

我试图通过仅使用一个计数器而不是两个计数器来更改程序。谁知道怎么做?

4 个答案:

答案 0 :(得分:0)

import java.io.*;
public class NewClass {

    public static void main(String[] args) {

        int i,n,  even_ctr=0;
        String input = " ";

        BufferedReader in = new BufferedReader ( new InputStreamReader(System.in));

        for(i = 1; i <=10; i++){
            try{
            System.out.print("Input integer number: ");
                input = in.readLine();
               }catch(IOException e){
                System.out.println("Error!");
               }

               n = Integer.parseInt(input);

               if(n % 2 == 0)
                even_ctr++;      

        }System.out.println("EVEN: " + even_ctr + "\nODD: "+ (10-even_ctr));
    }
}

答案 1 :(得分:0)

保持第一个计数器递增以进行ODD编号检测(或者偶然但是其中任何一个)。在计算结束时,如果ODD计数器= 4,输入的总数是10,那么10 - ODDcounter = 10 - 4 = 6是偶数的数量。

答案 2 :(得分:0)

为此,看起来使用扫描仪同样有用,这样就可以避免必须解析字符串的步骤。这也需要你import java.util.Scanner,但你可以使用扫描仪来在字符串或整数。

Scanner in = new Scanner(System.in);
int input;
int evenCount = 0;

 for(i = 1; i <=10; i++){
        try{
        System.out.print("Input integer number: ");
            input = in.nextInt();
           }catch(IOException e){
            System.out.println("Error!");
           }

           if(input % 2 == 0)
              evenCount++;
    }
System.out.println("EVEN: " + evenCounter + "\nODD: "+ (10 - evenCounter);

在方法结束时包含in.close();以关闭扫描仪或您使用的阅读器。

答案 3 :(得分:-1)

package evenoddten;

import java.util.Scanner;

public class EvenOddTen {

    public static void main(String[] args) {

        int num1 = 0, num2, even = 0, count = 0;
        Scanner scr = new Scanner(System.in);
        System.out.print("Total Nos:");
        num2 = scr.nextInt();

        while(count<num2) {
            System.out.println("Enter no:");
            num1 = scr.nextInt();
            if (num1%2 == 0) {
                even = even + 1;
            }           
            count = count+1;
        }
        System.out.println("Even nos are:"+even);
        System.out.println("Odd nos are:"+(count - even));
    }  
}