public class Example6.3 {
public static void main(String[] args) {
System.out.println("请输入内容,不同内容以逗号隔开,请以0结尾,以回车结束");
Scanner scanner = new Scanner(System.in);
String str = scanner.next(); //输入字符串
String a[] = str.split(","); //拆分为数组
//判断是否以0为结尾
if (0 != (Integer.parseInt(a[a.length - 1]))) {
System.out.println("请以0结尾");
return;
}
//从1到100进行相等比对,相等的话t+1,
for (int i = 1; i < 100; i++) {
int t = 0;
for(int j=0; j<a.length; j++)
if (i == Integer.parseInt(a[j]) ) {
t++;
}
//大于1的显示为“times”
String tim = "";
if( t == 1 | t == 0 )
tim ="time";
if(t>1)
tim = "times";
//由于在for循环中,如果不加if语句将会打印从1到100的比对结果
if(t>0)
System.out.println(i+" 出现的次数为:"+t +" "+ tim);
}
}
}
本习题的是实现方法不是最好的,按照我最初的设想是数组第一个开始比较(下标为0的,分别与下标为1到a.length的数值进行比较);相同的数值在第一次比较得出显示次数后,从数组去掉(或者不影响其他数值的比较,也就是对比后的数值,退出数组);没想起来怎么实现,或者不能实现。问题先记下来,再探索下