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

Java 尝试对数字列表排序时出错,java,arrays,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

我正在对一个数字列表进行排序,但当我编译时,它会给我这个错误

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);
   }
}

由于Arrays.sort(字符串a)不存在,因此出现错误。检查数组。sort()函数将数组作为参数。 您要做的是,将字符串作为参数传递给它

在使用扫描器读取数据时,不断将这些数字添加到数组中,然后调用Arrays.sort(list)

下面是一个链接,通过一个示例来解释这一点,以帮助您:

的答案是正确的,但您也可以使用扫描仪将数字读入分类数据集中,它们将在进入集合时自动分类,无需自行分类。这样,如果System.in正在阻止更多输入,则您的列表(集合)已排序:

sorting.java:9: error: cannot find symbol
int s = Arrays.sort(s);
        ^
symbol: variable Arrays
location: class sorting
Scanner s=新的扫描仪(System.in);
System.out.println(“输入:”);
设置列表=新树集();
而(s.hasnetint())
添加(s.nextInt());
//然后,要迭代列表,请使用以下命令:
for(整数i:列表){
//和我一起做点什么
}

您尚未导入
java.util.array
,即使导入了,也不会将字符串转换为int。从开始,您可能希望设置某种循环,以便从
扫描仪读取数字。现在,您只允许用户输入一个值。回答得好。我唯一的批评是对
集合使用名称
列表
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
}