- 問題描述
定義一個方法傳入一個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的部分功能.