我被分配了一个家庭作业的编程问题,我处于静止状态。我今天已经搜索了几个小时试图找到答案,似乎从来没有在这里被问过。我基本上需要找到数组模式的反转。这是我被要求找到解决方案的问题:
LeastFrequent - 从 System.in 输入的 10 个整数列表中输出出现频率最低的整数及其出现次数。如果列表中的多个整数出现频率最低,则输出任何出现频率最低的整数。将您的课程命名为 LeastFrequent。您可以假设所有 10 个整数都在 -100 到 100 的范围内。
这是我到目前为止的代码:
package leastfrequent;
import java.util.*;
public class LeastFrequent
{
private static int[] arr = new int[10];
private static int minValue;
private static int minCount;
public static void leastCommon()
{
for(int i = 0; i < arr.length; i++)
{
int count = 0;
for(int j = 0; j < arr.length; j++)
{
if(arr[j] == arr[i])
{
count++;
}
}
if(count > minCount)
{
minCount = count;
minValue = arr[i];
}
}
}
public static void main(String[] args)
{
Scanner stdin = new Scanner(System.in);
System.out.print("numbers: ");
for(int i = 0; i < arr.length; i++)
{
arr[i] = stdin.nextInt();
}
Arrays.sort(arr);
leastCommon();
System.out.println("least frequent: " + minValue + " occurs " + minCount + " times");
}
}
基本上我想如果我能找到模式,我可以反转那个算法并找到最不常见的,但这不起作用,因为它总是读为零。
有没有人有任何想法?
请帮忙!!