求一个JAVA程序,输入任意多个10以内的正整数, 输入-1表示输入结束。输出每个整数出现的次数,用数组做

 我来答
骑仕猎人
2012-03-28 · TA获得超过343个赞
知道小有建树答主
回答量:386
采纳率:100%
帮助的人:209万
展开全部
1. Scanner输入
2. if判断是否结束
3. 遍历数组
import java.util.Arrays;
import java.util.Scanner;

public class ShuZu{
public static void main(String[] args) {
int a = 0;
int[] aa= new int[0];
Scanner cin = new Scanner(System.in);
for(;;){
System.out.println("请输入10以内的整数,-1表示结束");
String s1 = cin.nextLine();
try{
a = Integer.parseInt(s1);
//a = cin.nextInt();
if(a == -1){
cout(aa);
break;
}
else if(a>=0 && a<=10){
if(aa.length == 0)
aa = new int[]{a};
else{
aa = Arrays.copyOf(aa, aa.length+1);//因为要求用数组,否则直接String简单些
aa[aa.length-1] = a;
}
}
else
System.out.println("请输入10以内的整数");
}catch(Exception e){
System.out.println("您输入的不是数字,请重新输入");
}
System.out.println(Arrays.toString(aa));
}
}

private static void cout(int[] aa) {
int tem = 0;
outer:
for(int i=0;i<aa.length;i++){
int count = 1;
tem = aa[i];
for(int j=0;j<i;j++){
if(tem == aa[j]){
continue outer;
}
}
for(int j=i+1;j<aa.length;j++){
if(tem == aa[j]){
count++;
}
}
System.out.println(tem +"\t次数:"+ count);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhouyuanlonglu
2012-03-28 · TA获得超过342个赞
知道小有建树答主
回答量:132
采纳率:100%
帮助的人:132万
展开全部
public class Shuzu {
public static void main(String[] args)
{
int x = 0;
//创建二维数组,第二维计数
int[][] array = new int[10][1];

for (int i = 0; i < array.length; i++) {
array[i][0] = 0;
}

Scanner scanner = new Scanner(System.in);
x = scanner.nextInt();
while (x != -1) {
//超过10就退出
if(x<10&&x>-1) {
array[x][0]++;
}
x = scanner.nextInt();
}
for (int i = 0; i < array.length; i++) {
System.out.println(i+":"+array[i][0]);
}
}

}
不知道是否满足你的要求。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式