编写程序,在测试类主方法中读取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。
这只是其中一个编程思想,还有其他解法和思想,你还有吗?在线小白寻求进步。。。