Java 如何限制阵列中的打印次数?

Java 如何限制阵列中的打印次数?,java,arrays,Java,Arrays,很快就要让这个程序运行了,但我被卡住了。 我想让它做的只是打印出实际发生的数字, 如果用户输入:1,2,3,2,6 它需要显示 1-1次 2-2次 3-1次 6-1次 我用同样的输入得到的结果是: 1-1次 2-2次 3-1次 4-0次 5-0次 6-1次 我需要删除没有发生的情况 import java.util.Arrays; import java.util.Scanner; public class CountOccurrences { public stati

很快就要让这个程序运行了,但我被卡住了。 我想让它做的只是打印出实际发生的数字, 如果用户输入:1,2,3,2,6

它需要显示

1-1次
2-2次
3-1次
6-1次
我用同样的输入得到的结果是:

1-1次
2-2次
3-1次
4-0次
5-0次
6-1次
我需要删除没有发生的情况

 import java.util.Arrays; 
 import java.util.Scanner;
 public class CountOccurrences
 {
      public static void main (String [] args)
      {
      Scanner input = new Scanner(System.in);

      //Create Array for numbers
      int numbers[] = new int[100];

      //Prompt user input
      System.out.println("Enter integers between 1 and 100: ");
       //For loop to continue input
       for (int i = 0; i < numbers.length; i++) {
            int next = input.nextInt(); 
               //Breaks loop if 0 is inputted
                if (next==0)
                  {
                     break; 
                       } 
            numbers[i] = next; 
                }

         //Calls on countInts method
       int[] count = countInts(numbers); 
         //Calls on display counts
       displayIntCount(count); 

      }  

     //Counts each instance of a integer
    public static int[] countInts(int[] ints)
    {
        int[] counts = new int[100];

        for(int i = 1; i <=counts.length; i++)
            for(int j=0;j<ints.length;j++)

                if(ints[j] == i)
                    counts[i-1]++;
        return counts;
    }

     //Displays counts of each integer
    public static void displayIntCount(int[] counts)
    {
          for (int i = 0; i < counts.length; i++)
            System.out.println((i+1) +" - " +counts[i] +" Times");
    }
}
导入java.util.array;
导入java.util.Scanner;
公共类计数事件
{
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
//创建数字数组
整数[]=新整数[100];
//提示用户输入
System.out.println(“输入介于1和100之间的整数:”);
//用于循环以继续输入
for(int i=0;i对于(int i=1;i只需使用一个简单的if语句来检查
计数[i]
是否不是0,如下所示:

public static void displayIntCount(int[] counts)
{
     for (int i = 0; i < counts.length; i++) {
          if (counts[i] != 0) {
              System.out.println((i+1) +" - " +counts[i] + " Times");
          }
     }
}
publicstaticvoiddisplayintcount(int[]计数)
{
for(int i=0;i
谢谢,出于某种原因,我觉得!=不会工作,因为数组对布尔表达式不友好。@Crichton我假设您对
==
?FYI.和数组有问题。但是做一些类似
array1[0]==array2[0]
(使用int数组)或
array1[0]。等于(array2[0])
应该可以正常工作。