java - 使用整数 (1) 计算变量字符串 (010),其中结果为字符串 (011)

标签 java

用户可以插入一个只能包含数字的随机字符串。 但一定可以用整数来计算。

问题是用户插入一个像 010 + integer(1) 这样的字符串,它会得到 11;

但我想返回一个字符串011

但用户也可以输入 001、0001 等数字

这里最好的方法是什么?我尝试过使用

String.format("%05d", yournumber); but i does not work with variable strings

我也遇到过

String str = "abcd1234";
String[] part = str.split("(?<=\\D)(?=\\d)");
System.out.println(part[0]);
System.out.println(part[1]);

如果我像这样使用它,我就会遇到一个新问题。 如何以正确的方式分割数字。

知道我错过了什么

最佳答案

考虑到您正在处理整数(不是二进制)
尝试这样的事情:

String input ="001";//your user input
    /**
     * your check here if input is a  number
     */
    int len=input.length();
    int inputInteger=Integer.parseInt(input);
    inputInteger+=1;

    String output=String.format("%0"+len+"d", inputInteger); 
    System.out.println(output);

关于java - 使用整数 (1) 计算变量字符串 (010),其中结果为字符串 (011),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30642936/

相关文章:

Java Stripe 库 : Collecting Errors Such as Decline or Invalid CVC

java - Spring MVC + Hibernate + JSP

java - Maven 构建后某些场景未加载

java - Spring中何时使用删除请求?

java - 为什么从 ApplicationContext 检索到的 bean 中的 @Autowire 为 null?

java - 使用 Java 8 合并两个 map

java - 对 lambda 表达式的随机搜索

java - 将 char 转换为字符串,然后将其插入 JLabel

java - Spring Boot Web 应用程序未在 tomcat 9 上运行

java - 在将 String 分解为多行时,如何设置 Eclipse 首选项以将 + 放在哪里?