- 问题描述
定义一个方法传入一个int类型数组,输出这个数组中每一个数字及其出现的个数
例如: 传入数组[1,2,2,2,3,3,4,4,4,4] 打印结果:
数字1出现了1次
数字2出现了3次…
- 算法思想
这里主要是在实现数组元素的遍历过程中,如果发现有重复出现的元素不打印输出语句.
代码如下:
package com.itheima.kuihuabaodian;
public class Case02 {
public static void main(String[] args) {
int[] arr1=new int[]{1,2,2,2,3,3,4,4,4,4};
getCount(arr1);
}
public static void getCount(int[] arr1){
loop:for (int i = 0 ;i < arr1.length; i++) {
//这段代码用于实现在比较之前输出的的语句是否有曾经输出过的元素值,
//如果有则跳出loop循环,不执行下面的打印语句.
if(i>0){
for (int j = 0; j <i ; j++) {
if(arr1[i]==arr1[j]){
continue loop;
}
}
}
// 这段代码用于实现代码的判断元素值出现的次数并且打印出输出次数.
int count=0;
for (int j = 0; j <arr1.length ; j++) {
if(arr1[i]==arr1[j]){
count++;
}
}
System.out.println(arr1[i]+"共出现"+count+"次");
}
}
}
代码输出:
1共出现1次
2共出现3次
3共出现2次
4共出现4次
Process finished with exit code 0
分析总结:这道题主要的难点就是,如何去避免不必要的输出结果的输出,可以通过跳转语句来实现跳转目的,java中没有goto语句,可以通过循环标识符来实现goto的部分功能.