Java中如何对字符串中的数字执行递增操作
Java 8字符串存储数字的数值运算实现方案
Java 为强类型语言,String 类型不属于数值类型,不支持直接使用++递增、--递减运算符,必须先转换为数值类型完成运算后再转回字符串,可根据场景选择以下实现方式(你代码示例中写的是自减操作,如需递增将对应位置的--替换为++、subtract替换为add即可):
- 常规小数字场景(取值在int范围内)
String lifes = "3"; int num = Integer.parseInt(lifes); // 执行递减操作后转回字符串 lifes = String.valueOf(--num); // 运行后lifes取值为 "2" // 如需递增则改为 String.valueOf(++num)
- 超大数字场景(超出基础数值类型取值范围)
import java.math.BigInteger; String lifes = "99999999999999999999999"; BigInteger num = new BigInteger(lifes); // 递减操作 num = num.subtract(BigInteger.ONE); // 如需递增则改为 num = num.add(BigInteger.ONE); lifes = num.toString();
注意:如果无法保证输入字符串一定是合法数字格式,需要捕获
NumberFormatException避免程序崩溃,示例如下:
String lifes = "3"; try { int num = Integer.parseInt(lifes); lifes = String.valueOf(--num); } catch (NumberFormatException e) { // 非合法数字的自定义处理逻辑,例如设置默认值 lifes = "0"; }
内容的提问来源于stack exchange,提问作者katekyy
相关产品推荐
相关产品推荐

