Java 字符串碎片

标签 java string int

我有一个字符串,例如“90 60 90”—— body 比例。我想从字符串中取出 3 个数字并将它们放入 int 数组中。 像这样:

sizes[0] = 90;
sizes[1] = 60;
sizes[2] = 90;

也许有更优雅的方法来解决这个问题,但我只能想出这种方法。如果您能向我展示更优雅的方式或帮助解决此问题,我将很高兴。当 j = 2 且 a = ' ' 时,循环就这样停止。

public class Main {

    public static void main(String[] args) {

        String[] sizes = {"90 60 90", "90 70 60"};
    //  int[][] firstNumber = new int[sizes.length][3];
        String firstNumber = "";
        String secondNumber = "";
        String thirdNumber = "";
        int spaces = 0;

        for (int i = 0; i < sizes.length; i++) {
            int length = sizes[i].length();
            for (int j = 0; j < length; j++) {
                char a = sizes[j].charAt(j);
                if (a != ' ' && spaces == 0) {
                    firstNumber += String.valueOf(a);
                } else if (a != ' ' && spaces == 1) {
                    secondNumber += String.valueOf(a);
                } else if (a != ' ' && spaces == 2) {
                    thirdNumber += String.valueOf(a);
                } else if (a == ' ') {
                    spaces++;
                }
            }
        }
        System.out.println(firstNumber + secondNumber + thirdNumber);
    }
} 

谢谢。

最佳答案

你可以使用:

String[] sizes = {"90 60 90", "90 70 60"};
List<Integer[]> list = Stream.of(sizes).map(
        string -> Arrays.asList(string.split("\\s+")).stream()
                .map(s -> Integer.parseInt(s))
                .toArray(Integer[]::new)
).collect(toList());

显示结果:

list.forEach(array -> System.out.println(Arrays.asList(array)));

输出

[90, 60, 90]
[90, 70, 60]

关于Java 字符串碎片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48041746/

相关文章:

java - 如何将 String[] 参数设置为 native 查询?

java - 如果我应用超过 1 种方法,我的整数计数器将无法工作

java - 无法减少 int 变量的值

c++ - C++ 中 8 位整数和 32 位整数之间的按位与

java - 从 Jersey 迁移到 spring-mvc/rest : ContainerRequestFilter, ContainerResponseFilter

java - java中的时间与帧

java - 给定随机尺寸,如何将某种图案打印到控制台?

c - 从scanf读取不同的输入——C语言

javascript - 如何处理在 Mongodb 中存储为字符串的日期?

java - 为什么 char[] 优于 String 作为密码?