Java 尝试提示我的数组输入10个数字以执行模式

Java 尝试提示我的数组输入10个数字以执行模式,java,arrays,for-loop,logic,java.util.scanner,Java,Arrays,For Loop,Logic,Java.util.scanner,我现在正在做的练习需要我 从用户收集10个值以存储到数组中 显示10个值的模式 可以使用并行数组来计算值的出现次数 使用方法将输入的值用作参数,并按顺序返回具有最大值的数组 这是我目前掌握的代码: 问题是,我的模式适用于10个定义的值,但有一次我试图弄乱它,并为丢失的值添加扫描仪 public static void main(String[] args) { Scanner scan = new Scanner(System.in); int[] arraytwo = {10

我现在正在做的练习需要我

从用户收集10个值以存储到数组中 显示10个值的模式 可以使用并行数组来计算值的出现次数 使用方法将输入的值用作参数,并按顺序返回具有最大值的数组 这是我目前掌握的代码:

问题是,我的模式适用于10个定义的值,但有一次我试图弄乱它,并为丢失的值添加扫描仪

public static void main(String[] args) 
{
    Scanner scan = new Scanner(System.in);
    int[] arraytwo = {10};
    test3(arraytwo);
    number = scan.nextInt;
    number = arraytwo[i];
}
public static void test3(int[] array)
{
    int modeTrack[] = new int[10];
    int max =0; int number =0;
    for (int i = 0; i < array.length; i++)
    {
        modeTrack[array[i]] += 1;
    }

    int maxIndex = 0;
    for (int i = 1; i < modeTrack.length; i++)
    {
        int newNum = modeTrack[i];
        if (newNum > modeTrack[maxIndex])
        {
            maxIndex = i;
        }

    }System.out.println(maxIndex);
}

听起来test3方法并没有给您带来麻烦,所以我将介绍一下您的主要方法

我插入的评论指出,您的主要报告中有一些错误:

public static void main(String[] args) 
{
    Scanner scan = new Scanner(System.in);
    int[] arraytwo = {10};
    test3(arraytwo); 
    number = scan.nextInt; //number does not exist in this scope, also nextInt method should use () to call it.
    number = arraytwo[i]; //i does not exist in this scope
}
对于主要方法,我建议您执行以下操作:

public static void main(String[] args) 
{
    Scanner scan = new Scanner(System.in);
    Integer[] arrTwo = new Integer[10];
    for (int i = 0; i < 10; i++)
    {
        arrTwo[i] = scan.nextInt();
    }
    sort(arrTwo);
    //System.out.println(Arrays.toString(arrTwo)); //this line will print your sorted array for you..
}
public static void sort(Integer[] arr){
    Arrays.sort(arr, Collections.reverseOrder());
}

这段代码将取十个值并按降序排序。希望它能帮助您。将下面的代码保存在Test.java中并运行它

import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class Test {

    public static void main(String[] args) 
    {

        Integer[] array = new Integer[10];
        Scanner scan = new Scanner(System.in);

        for (int i = 0; i <10; i++) {
            array[i] = scan.nextInt();
        }

        doSort(array);
    }

    static void doSort(Integer[] array)
    {
        Arrays.sort(array,Collections.reverseOrder());

        for (int i = 0; i < array.length; i++) {
            System.out.println(array[i]);
        }
    }

}

int[]数组two={10};你到底想在这里做什么?我想确定我最多只能接受10个值到我的数组中,然后你应该写int[]arraytwo=new int[10];相反您所写的内容意味着您有一个值为10的数组。有没有办法改用扫描仪?我正是用扫描仪尝试了这一点,但出现了ReadLine错误。是br.next?它成功了。有没有办法按降序显示另一个数组中的值?我会使用bubblesort吗?这篇文章对如何对int数组排序有一些好的想法:。