我有一些字符串,对于每个字符串,我必须将它的最后一个元素的值增加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
请帮忙
答案 0 :(得分:0)
虽然你可以使用一个字符串来存储一个数字,但它本质上是一个字符序列,因此不能递增(事实上,语句"增加一个字符串"具有同样的意义,如同声明"增加玫瑰的味道")。
我建议您查看Java中的数据类型教程:
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html
如果您尝试存储号码,那么您可能正在寻找byte
,int
,long
或short
一个整数,或十进制数的float
或double
。如果您正在尝试创建关联(即映射到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);