gpt4 book ai didi

java - 分割数字对的字符串,然后在java中分割它们中的每一个

转载 作者:行者123 更新时间:2023-12-01 16:13:23 24 4
gpt4 key购买 nike

假设我有以下行:

ball_velocities:45,500 46,500 47,500

我愿意:

  • 将这些对分开
  • 将数字对本身和其中的数字分开在我已有的函数中使用这两个数字
   String[] numbers = data.split("\\\\s+");
if (numbers.length > 0) {
List<Velocity> velocities = new ArrayList<>();
for (String number : numbers) {
try {
int firstNum = Integer.parseInt(number);
int secondNum = Integer.parseInt(number);
velocities.add(Velocity.pair(firstNum,secondNum));

我知道我搞砸了,所以我很高兴听到一些建议。

我认为这非常简单,我所要做的就是像我已经做的那样按空格进行 data.split数据再次用逗号分割,然后我不知道如何将这两个数字组合成一个函数。

我的意思是最终我希望它是:包含以下值的速度列表:

Velocity.pair(45,500)
Velocity.pair(46,500)
Velocity.pair(47,500)

谢谢。

最佳答案

假设类(class) Velocity看起来像这样:

class Velocity {
private int firstNumber;
private int secondNumber;

public Velocity(int firstNumber, int secondNumber) {
super();
this.firstNumber = firstNumber;
this.secondNumber = secondNumber;
}

public int getFirstNumber() {
return firstNumber;
}

public void setFirstNumber(int firstNumber) {
this.firstNumber = firstNumber;
}

public int getSecondNumber() {
return secondNumber;
}

public void setSecondNumber(int secondNumber) {
this.secondNumber = secondNumber;
}

public String toString() {
return "[" + firstNumber + ", " + secondNumber + "]";
}
}

你基本上必须一步一步进行:

  1. 删除介绍标签ball_velocities:来自String你想 split ,
  2. split结果由任意数量的空格组成,然后
  3. split每个结果都用逗号表示,
  4. 将结果解析为 int s
  5. 实例化 Velocity以及解析结果,最后
  6. 添加 Velocity 的每个实例到List<Velocity>

可以按如下方式完成,例如:

public static void main(String[] args) throws ParseException {
String data = "ball_velocities:45,500 46,500 47,500";

List<Velocity> velocities = new ArrayList<>();
// remove the intro tag and then split by whitespace(s)
String[] numberPairs = data.replace("ball_velocities:", "").split("\\s+");

// handle each result (which still consists of two numbers separated by a comma
for (String numberPair : numberPairs) {
// that means, split again, this time by comma
String[] numbers = numberPair.split(",");
// parse the results to ints
int firstNum = Integer.parseInt(numbers[0]);
int secondNum = Integer.parseInt(numbers[1]);
// instantiate a new Velocity with the results and add it to the list
velocities.add(new Velocity(firstNum, secondNum));
}

// print the list using the `toString()` method of Velocity
velocities.forEach(System.out::println);
}

此示例将打印

[45, 500]
[46, 500]
[47, 500]

关于java - 分割数字对的字符串,然后在java中分割它们中的每一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62472164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com