Java 将数字字符串值重置为";1“;当其超过;9999“;
如何将字符串号9999重置为0001(限制为4位):Java 将数字字符串值重置为";1“;当其超过;9999“;,java,android,Java,Android,如何将字符串号9999重置为0001(限制为4位): String currentNumber = "9999"; String incremented = String.format("%0" + currentNumber.length() + "d", Integer.parseInt(currentNumber) + 1); 上面的结果将给我10000。您可以为此创建一个自定义方法 String increment(String num, int in
String currentNumber = "9999";
String incremented = String.format("%0" + currentNumber.length() + "d",
Integer.parseInt(currentNumber) + 1);
上面的结果将给我10000。您可以为此创建一个自定义方法
String increment(String num, int incrementBy) //incrementBy is an integer by which you want to increment
{
int numInt=Integer.parseInt(num);
numInt+=incrementBy;
if (numInt>9999) {
return String.valueOf(numInt%9999);
}
return String.valueOf(numInt);
}
为什么不使用if语句?
试试这个
if (Integer.parseInt(currentNumber) > Integer.parseInt(maxNumber))
currentNumber = "0001"
希望它能帮助您使用模运算符:
String currentNumber = "9999";
String incremented = String.format("%0" + currentNumber.length() + "d",
(Integer.parseInt(currentNumber) + 1) % 9999);
当您为currentNumber
使用合适的打字机时,应该是这样的:
Integer currentNumber = 9999;
Integer moduledNumber = (currentNumber + 1) % 9999;
String incremented = String.format("%0" + currentNumber.toString().length() + "d", moduledNumber);
整字符串值?这是什么意思?你认为“Integer.parseInt(currentNumber)+1”是什么意思?你有9999,你加1,然后返回。添加最大值检查并重置
字符串currentNumber=9999
-至少发布有效的java代码为什么是整数?短字符串可以更好地适应该范围…您知道>=不是比较两个字符串的好方法,对吗?String currentNumber=9999-至少是post有效的javacode@ScaryWombat你是对的。我修正了密码。我会留下一个类似于原始代码的代码,以便作者更容易理解。问题是OP可能会跟随,但一些可怜的傻瓜在将来复制和粘贴您的代码可能不会意识到。我同意这一点。