尝试对数字列表进行排序时出错

时间:2014-04-09 22:36:22

标签: java arrays

import java.util.Scanner;
class sorting
{  
   public static void main(String[] args)
   {
     Scanner S = new Scanner(System.in);
     System.out.println("Enter Input: ");
     String a = S.next();
     int s = Arrays.sort(a);
   }
}

我正在排序数字列表但是当我编译它时会给我这个错误

sorting.java:9: error: cannot find symbol
int s = Arrays.sort(s);
        ^
symbol: variable Arrays
location: class sorting

3 个答案:

答案 0 :(得分:1)

Arrays.sort()函数将数组作为参数。 你正在做的是,将一个字符串作为参数传递给它。

使用Scanner读取时,请继续将这些数字添加到数组中,然后调用Arrays.sort(list)。

这是一个链接,用一个示例来解释这个问题,以帮助您:

http://www.tutorialspoint.com/java/util/arrays_sort_int.htm

答案 1 :(得分:1)

@user3517318的答案是在正确的轨道上,但您也可以使用扫描仪将数字读入SortedSet,它们会在进入集合时自动排序,不需要自己排序。这样,如果System.in阻止更多输入,您的列表(set)已经排序:

Scanner s = new Scanner(System.in);
System.out.println("Enter Input: ");

Set<Integer> list = new TreeSet<Integer>();

while(s.hasNextInt())
    list.add(s.nextInt());

//then, to iterate over the list, use this:
for(Integer i: list) {
    //do something with i
}

答案 2 :(得分:0)

您收到错误,因为Arrays.sort(String a)不存在。查看http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html