【发布时间】:2020-01-02 17:02:53
【问题描述】:
我目前正在用 Java 中的字符串进行试验。
例如,您有一个字符串"1234 Hello 56789",现在您要计算最大值和最小值的平均值,即(1234/5678)/2 = 58023。
你是怎么做到的?
我尝试了Integer.parseInt,但出现了错误。
我试过replaceAll("[^0-9]", ""),它没有得到最小值和最大值,因此没有得到平均值。它输出我不想要的 123456789。
我也尝试了replaceAll("[^0-9]", "").split("\\D+"),它只给了我1234 56789,但我不知道如何获得最小值和最大值。
【问题讨论】:
-
我会从忘记最小、最大、平均部分开始。相反,专注于“如何从字符串中提取数字”?一旦你完成了那部分,剩下的就是简单的数学。您可能想考虑一下您的字符串是否可以包含非整数,是否要允许在数字中使用千位分隔符等。
-
@Jon Skeet,关于非整数值的语言环境表示非常困难。我们如何预测数字 1,0 与 1.0 是什么?或 1_000 而不是 1.000 或 1,000.00?没那么简单,不是吗?
-
@zlakad:不,这绝对不简单。但这正是 OP 在定义他们的要求时应该问自己的事情。
标签: java