首页 > 解决方案 > 使用一维数组计算用户输入中每个整数的出现次数

问题描述

我必须计算每个数字在数组中出现的次数。

我必须有一个特定的输出。我所拥有的一切都能正常工作,但我需要在“break”处的第一个循环结束而不必按 0。我怎样才能让它做到这一点?

这是代码的副本:

package u07a1_numofoccurrinsevenints;
import java.util.Scanner;
public class U07A1_NumOfOccurrInSevenInts {

public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    int number[] = new int [10000000];
    int count[] = new int [10000000];
    int temp = 0;

    System.out.print("Enter seven numbers: ");

    for (int i = 0; i < number.length; i++) {
        number [i] = input.nextInt();
        if (number [i] == 0)
            break;
        }

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

    for (int i = 1; i < count.length; i++) {
        if (count [i] > 0 && count [i] == 1) {
            System.out.printf("Number %d occurs %d time\n", i, count [i]);
        }

        else if(count [i] >= 2){
            System.out.printf("Number %d occurs %d times\n", i, count [i]);
        }
    }
}

}

这是输出的副本:

run:
Enter seven numbers: 12 23 44 22 23 22 55
0
Number 12 occurs 1 time
Number 22 occurs 2 times
Number 23 occurs 2 times
Number 44 occurs 1 time
Number 55 occurs 1 time
BUILD SUCCESSFUL (total time: 19 seconds)

如您所见,我必须输入零才能使第一个循环停止。我希望它在输入 7 个整数时停止

这是为了学术任务。

标签: javaarraysintegervariable-assignmentcounting

解决方案


推荐阅读