每次迭代循环将字符串递增1

时间:2017-11-14 08:00:47

标签: java

我有一些字符串,对于每个字符串,我必须将它的最后一个元素的值增加1。

例如:

假设我有一个临时变量,每次循环迭代时都会得到一个字符串。

字符串有以下几种形式:

String s1=abc,cde=1 //here I want to increment value of cde by 1

String s2=gef,pqwl=let2-1  //here also I want to increase value by 1

这些类型的字符串可以随机出现,所以我需要提供这样的处理 无论字符串是s1还是s2,它每次都应该增加1。

Expected output:

abc,cde=2
if same string comes again: abc,cde=3
gef,pqwl=let2-2  
if same string comes again: gef,pqwl=let2-3
and so on

请帮忙

1 个答案:

答案 0 :(得分:0)

虽然你可以使用一个字符串来存储一个数字,但它本质上是一个字符序列,因此不能递增(事实上,语句"增加一个字符串"具有同样的意义,如同声明"增加玫瑰的味道")。

我建议您查看Java中的数据类型教程:

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html

如果您尝试存储号码,那么您可能正在寻找byteintlongshort一个整数,或十进制数的floatdouble。如果您正在尝试创建关联(即映射到String键的整数值),那么您应该使用java.util.Map的实现,例如HashMap,或者使用一些具体用例TreeMap

增加在地图中存储为值的数字的值只是用给定的键替换值:

Map<String,Integer> map = new HashMap<>();
// Add value
map.put(key, originalValue);
// Increment value by 1
map.put(key, map.get(key)+1);

此外,如果您正在使用Java 8,您还可以使用replaceAll来增加地图中的所有值:

map.replaceAll((key,value) -> value+1);