从范围返回模式字符串的java方法

标签 java string

我是 Java 的新手。我被分配了一个测试,但我不知道如何完成它。所以情况是这样的——

Create a method that returns a patterned string from range A000 to ZZZZ. Parameter for the method is string itself, so if we pass A000 it should return A001, if we pass A001 it should return A002 and so on... A009... A999... AA00... AA99... AB00... AB01... AB99... AC00... to AZZZ.

我已经能够增加数字,但是当它们达到 99 时无法将它们更改为字母。假设我输入了 AZ99;它应该返回 AZA0,但我不知道应该如何编写该逻辑。

我想过使用数组,但我必须将模式的每次迭代都保存在数组中,这似乎不可行。然后我想我会使用 if...else 并将数字应该递增的实例写成字母,但这也不必要地长。我知道这可以通过适当的逻辑来完成,但它让我失望了。我在 stackoverflow 上搜索了多个线程,但我找不到与这个非常相似的线程。

这就是我到目前为止所得到的 -

public class StringSeries {

  public static String returnString (String inputString) {
    String newString = inputString.substring(0,2);
    String completeNewString = newString + 
        (Integer.parseInt(inputString.substring(1,inputString.length()))+1);
    System.out.println(completeNewString);
    return completeNewString;
  }

  public static void main (String[] args){
    Scanner sc = new Scanner();
    String inputString = sc.nextLine();
    returnString(inputString);
    sc.close();
  }
}

我需要有关如何执行此操作的建议。另外,请详细说明特定逻辑的工作原理。

谢谢!

附言我在论坛上找了很多此类问题,但一直找不到。我也意识到这个问题对于非新手来说可能是重复的。我请求你不要粗鲁,如果你知道相似的线程在哪里,请指出它们。谢谢。

最佳答案

这比看起来容易得多。您需要做的就是将字符串转换为 36 进制数(Integer.valueOfInteger.parseUnsignedInt),将其加一,然后将其转换为大写的 36 进制字符串(Integer.toString 并将其转换为大写例)。

关于从范围返回模式字符串的java方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55147065/

相关文章:

java - 我应该下载哪个版本的 eclipse?

java - 无法使用 ObjectInputStream 写入消息,并且服务器无法连接

Javax.mail.AuthenticationFailedException

java - 如何检查用户定义的(EditText)时间内某件事是否属实?

java - 定制的maven可部署(删除了一些依赖项的war)

python - 如何在 Python 中检测非 ASCII 字符?

C strncpy 没有空终止的原因

西里尔字符串的 Php 长度使其值加倍

string - 搜索字符串中的某些单词或短语

c# - basic 中 string$ 的 C# 等价物是什么