【发布时间】:2019-08-16 20:32:10
【问题描述】:
我是第一次使用 ArrayList,所以希望对理解它有所帮助。
我正在接受一些用户输入并存储在 ArrayList 中。
输入由一位数和两位数组成。
如果单个数字为 1(在任何索引处),则 Arraylist 已正确排序。
如果单个数字不是 1,则单个数字不是排序顺序(所有其他数字都排序)。
请忽略输入的第一行,因为它的目的是别的东西,其逻辑尚未编写。
第二行输入是要存入arraylist并排序的数字。
import java.io.*;
import java.util.*;
public class FindTheNo {
public static void main(String[] args) throws Exception {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);
String line;
String s = br.readLine();
String[] numbers = s.split(" ");
while((line = br.readLine()) != null){
String arr = line;
String[] nos = arr.split(" ");
ArrayList<String> al = new ArrayList<String>();
for(int i = 0; i < nos.length; i++)
al.add(nos[i]);
Collections.sort(al);
for(String s1: al)
System.out.print(s1 +" ");
System.out.println();
// System.out.println(al.get(6));
}
}
}
输入: 1 5 9 10 58 63 47 25 63 9
观察到的输出: 10 25 47 58 63 63 9
预期输出: 9 10 25 47 58 63 63
请告知我哪里出错了
【问题讨论】:
-
Collections.sort方法按自然顺序升序对集合进行排序。 Collections.sort 方法的 javadoc 中的详细信息。对于字符串,自然顺序是描述中的Observed Output。获取Expected Output使用Integer.valueOf(hereComesTheStringToConvert)方法将字符串转换为整数
标签: java regex string algorithm arraylist