有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    虽然可以使用字符串存储数字,但它本质上是一个字符序列,因此不能递增(事实上,语句“increment a String”与语句“increment the sight of rose”一样有意义)

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

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

    如果您试图存储一个数字,那么您可能要查找byteintlongshort(如果您想要一个整数),或者floatdouble作为十进制数。如果您试图创建关联(即映射到字符串键的整数值),那么您应该使用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);