编写数组的输入次数

449 阅读1分钟

编写程序,在测试类主方法中读取1-50之间的整数,保存在数组中,然后计算每个数出现的次数。假定输入是以0结束的。以下是程序运行示例:

    package pro9;
    import java.util.*;
    public class Test1_1 {
    public static void main(String[] args) {
	
	int[] a=new int[20];
	Scanner sc1=new Scanner(System.in);
	
	System.out.println("请输入1至50之间的整数:");
	
	for(int i=0;i<a.length;i++)
	{
		a[i]=sc1.nextInt();
		if(a[i]==0)
		{
			//强制退出循环
			break;	
		}
	}
	Arrays.sort(a);
	int count;
	for(int i=0;i<a.length;i++)
	{
		   count=1;
		  if(a[i]==0)
		  {
			  
			  continue;
			  
		  } 
		   for(int j=i+1;j<a.length;j++)
		  {
			    if(a[j]==a[i])
			    {
			    	count++;
			    	//测试过的数组元素置为0,下一次不参与测试
			    	a[j]=0;
    	
			    }  
		  }
		
		  System.out.println(a[i]+"在数组中出现的次数为:"+count+"次");

	}

	}
}

1、Arrays.sort(a)

a为int类型的占用20个字节的一维数组并对数组中所有元素进行排序,并且是按从小到大的顺序。

2、该程序的思想是用2层for循环遍历数组当遇到与之前数相同时,将该数赋为0,并自增输出。外层循化如果遇到0时continue。

这只是其中一个编程思想,还有其他解法和思想,你还有吗?在线小白寻求进步。。。