首页 > 解决方案 > 如何显示属于正数、负数、奇数和偶数组的数字?

问题描述

该程序要求 10 个整数并将这些整数存储在一个数组中。然后程序计算有多少奇数、多少偶数、多少负数、多少正数和多少零数。该程序还应该显示属于这些组的数字是什么。

这是我的程序:

import java.util.Scanner;
 public class count { 
public static void main (String[] args)
        {           
            int i,x,a[] = new int[10];          
            int n=0,p=0,e=0,o=0,z=0;            
            Scanner input = new Scanner(System.in);
                        System.out.println("Enter 10 Numbers");         
            for(i=0;i<10;i++)
            {
             System.out.println("Enter Number :");
             a[i] = input.nextInt();
            }           
            for(i=0;i<10;i++)
            {
                if(a[i]<0)
                    n++;
                else
                    p++;

                x=a[i]%2;
                if(x==0)
                    e++;
                else
                    o++;
                                if(a[i]==0)
                                    z++;
            }

            //print
            System.out.println("Total Even Numbers = "+e);
                        System.out.println("Even Numbers are = ");
            System.out.println("Total Odd Numbers = "+o);
                         System.out.println("Odd Numbers are = ");
            System.out.println("Total Negative Numbers = "+n);
                         System.out.println("Negative Numbers are = ");
            System.out.println("Total Positive Numbers = "+p);
                         System.out.println("Positive Numbers are = ");
                        System.out.println("Total Zero Numbers = "+z);
        }
}  

这是它的输出。

Enter 10 Numbers
Enter Number :
0
Enter Number :
0
Enter Number :
2
Enter Number :
-3
Enter Number :
-4
Enter Number :
6
Enter Number :
9
Enter Number :
5
Enter Number :
0
Enter Number :
9
Total Even Numbers = 6
Even Numbers are = 
Total Odd Numbers = 4
Odd Numbers are = 
Total Negative Numbers = 2
Negative Numbers are = 
Total Positive Numbers = 8
Positive Numbers are = 
Total Zero Numbers = 3

标签: javaarrays

解决方案


正如我在评论中所说,一个简单的解决方案是将每个数字保存到相应的List

List<Integer> evenNumbers = new ArrayList<>();

然后每次您使用if语句检查每个数字而不是使用计数器时,只需将数字添加到列表中

if (numbers[i] % 2 == 0) evenNumbers.add(numbers[i]);

最后像你已经做的那样打印它们,但检查每个的大小List

System.out.println("Total Even Numbers = " + evenNumbers.size());
System.out.println("Even Numbers are = " + evenNumbers);

推荐阅读