【问题标题】:How to store string increments as a concatenated String?如何将字符串增量存储为连接字符串?
【发布时间】:2015-04-23 10:04:57
【问题描述】:
    Scanner input = new Scanner(System.in);
    String userInput = input.nextLine();
    String letterArray[] = new String[userInput.length()];


    for(int i = 0; i < userInput.length(); i++ ){
        letterArray[i] = userInput.substring(i, i+1);
    }

    for(int j = userInput.length()-1; j>=0; j--){
        System.out.print(letterArray[j]);
    }

我已经存储了用户输入,现在我想反转他们输入的内容并将反转后的形式存储为字符串。

我已经设法将字符串显示为每个字母增量的叠加,这些字母增量已存储在一个数组中,我该如何将反转的形式存储为字符串?

【问题讨论】:

    标签: string loops for-loop concatenation


    【解决方案1】:

    如果您只想反向打印,可以这样做:

    Scanner input = new Scanner(System.in);
    String userInput = input.nextLine();    
     for(int i=1;i<=userInput.length();i++){
            System.out.print(userInput.charAt(userInput.length()-i));
        }
    

    除此之外,如果您想将字符串转换为数组,您可以使用更简单的方法,例如:String[] letterArray = userInput .split("");

    如果要将其存储为数组或新字符串,可以这样做:

    扫描仪输入 = new Scanner(System.in);

    String userInput = input.nextLine();    
    Char[] characters=new Char[userInput.length];
     for(int i=1;i<=userInput.length();i++){
           characters[i-1]=userInput.charAt(userInput.length()-i);
            System.out.print(characters[i-1]);
    
        }
    String newString=new String(characters);
    

    有很多可能性。

    【讨论】:

      【解决方案2】:

      您可以通过不同的方式获取反向的java.lang.String

      最安全的方法是使用java.lang.StringBuilder.reverse() 方法:

      System.out.println(new java.lang.StringBuilder("abc").reverse().toString());
      

      如果你想学习如何迭代字符并以你想要的方式添加它们,你可以使用StringBuilder,使用java.lang.StringBuilder.append(char c)方法一一追加字符。

      警告:前面有不常见的情况。

      有一种特殊情况,你不能改变字符的顺序,甚至不能颠倒它们。

      它指的是 UTF-16 的 代理对。这些是 Java java.lang.String 中的单个字符对(比如字符 c1 和 c2),但实际上是指单个 unicode 字符。

      如果您构建一个反转该对中的字符的字符串(c2 然后 c1),您将构建一个不正确的字符串。

      更新:我刚刚看到 StringBuider.reverse() 方法的文档明确描述了有关代理对的内容。在这里阅读:http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuilder.html#reverse()

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-11
        • 2015-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        相关资源
        最近更新 更多