如何在双数组中替换字符串值:“ 8.1.009.125”?

时间:2019-01-14 06:33:55

标签: java arrays string

包含两个method作为参数的Strings

字符串是无限长度。仅包含数字。

数字是整数,非负。

字符串包含4个数字,以点分隔。

第一个String示例:8.1.13.41

第二个String示例:8.1.009.125

数字可以以零开头。

方法应返回“最旧的” String

像游戏中一样(游戏1.0、1.0.1、1.0.2、1,1、2.0等版本)

在这种情况下,8.1.13.418.1.009.125

我认为最好的方法应该将字符串转换为array。然后按单元格进行比较

如果数组为int[] arr = Arrays. stream(s2.split("\\.")) .mapToInt(Integer::parseInt) .toArray();

数组中的

个值; [8, 1, 9, 125]显然是不正确的。

如果数组double[] arr = Arrays. stream(s2.split("\\.")) .mapToDouble(Double::parseDouble) .toArray();

数组中的

个值;数组中的[8.0, 1.0, 9.0, 125.0]值不正确。

我需要获取[8, 1, 009, 125],但我认为值009不可能。

我的问题是

如何从方法中重新运行“最旧的”字符串。

如果无法使用数组,该怎么办?

如果现在不清楚,我不知道如何将它提供给您。

1 个答案:

答案 0 :(得分:1)

根据我所看到的,数据集使用.字符作为小数点和定界符。除非有明确的规则允许我们拆分数据,例如每个double的长度应为3个字符,我认为我们不做任何假设就不能解决这个问题。