java - 多任务: parse space-separated integers from a string

标签 java string parsing split int

我的任务有问题。

我的工作是

  • 从文件中获取一个字符串(源文件中是一行中的数字,用空格分隔)
  • 用空格分割该字符串
  • 然后将每个 String 解析为 int
  • 最后对它们使用 bubbleSort。

我被困在解析上,不知道该怎么做。

代码 atm 看起来像这样:

public class Main
{
    public static void main(String[] args) throws IOException
    {
        String numbers = new String(Files.readAllBytes(Paths.get("C:\\README.txt")));
        String s[] = numbers.split(" ");
        for (String element : s)
        {
           System.out.println(element);
        }
    }
}

我尝试使用扫描仪读取字符串数字,然后循环它进行 parseInt,但对我不起作用。

最佳答案

您正在寻找的方法是Integer#parseInt()

使用Java 8时,您可以使用Stream API如下:

final List<Integer> intList = new LinkedList<>();

try {
    Files.lines(Paths.get("path\\to\\yourFile.txt"))
        .map(line -> line.split(" "))
        .flatMap(Stream::of)
        .map(Integer::parseInt)
        .forEach(intList::add);
} catch (IOException ex) {
    ex.printStackTrace();
}

没有流:

final List<Integer> intList = new LinkedList<>();

try {
    for (String line : Files.readAllLines(Paths.get("path\\to\\yourFile.txt"))) {
        for (String numberLiteral : line.split(" ")) {
            intList.add(Integer.parseInt(numberLiteral));
        }
    }
} catch (IOException ex) {
    ex.printStackTrace();
}

关于java - 多任务: parse space-separated integers from a string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26670288/

相关文章:

java - 从起点和终点延长线

java - JBoss 4.2.2 网络服务 SOAP :address

java - 设置 Java 服务器堆大小的规则或指南

Java JDT 解析器。获取VariableDeclarationFragment的变量类型

python - 自然语言时间解析器

c++ - 我想计算字符串/c++ 中的数字

java - 使用正则表达式查找一组+JAVA

c# - 如何设置 DateTime 小时、分钟和秒?

java - jOOQ - 使用 QueryPart 占位符解析纯 sql

python - 查找正则表达式匹配的字符串长度