请帮忙我看不出错误

时间:2018-03-09 05:21:45

标签: java arrays intellij-idea arraylist toarray

我正在使用Intellj Idea,我正在使用ArrayLists,Arrays和一个排序算法,我希望生成5个随机等级,将它们放入ArrayList,将ArrayList的值转换为Array。将数组值从最小值排序到最大值并打印到屏幕排序之前和之后的等级,这就是我所拥有的:

    import java.util.ArrayList;
    import java.util.Iterator;
    import java.util.Arrays;


    public class Grades {




    public static void main(String args[])
{
    ArrayList <Integer> scores = new ArrayList<Integer>();

    for(int i = 0; i < 5; i++)
    {

        scores.add((int) (Math.random() * 30 + 1));
    }
    for (int i =0; i < scores.size();i++)
    {
        System.out.println(scores.get(i));
    }
    int arrayOne[] = new int[scores.size()];
    arrayOne = scores.toArray(new int[scores.size()]);

最后一行是我遇到问题的地方。 Intellij说:没有为toArray(int [])找到合适的方法。

我的语法错了吗?

我忘了导入图书馆吗?

ArrayLists和Arrays是否可以以这种方式进行交互?

请帮忙。

    int first,second, temp=0;

    for(first=0; first < arrayOne.length -1; first++)
    {
        for (second = 0; second < arrayOne.length - 1 - first; second++)
        {
            if(arrayOne[second] < arrayOne[second +1])
            {
                temp = arrayOne[second];
                arrayOne[second] = arrayOne[second + 1];
                arrayOne[second+1] = temp;
            }
        }
    }

我无法运行这一点,看看它是否按照我想要的方式排序。

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


}

}

1 个答案:

答案 0 :(得分:0)

toArray(T[])合同中可以看出,它需要一个包含引用类型的数组,而int不是引用类型。

更改代码,arrayOne类型为Integer[]

Integer[] arrayOne = scores.toArray(new Integer[scores.size()]);