【问题标题】:Printing a string in reverse [closed]反向打印字符串[关闭]
【发布时间】:2018-02-28 16:15:35
【问题描述】:

我正在尝试编写一个简单的程序来反转字符串,但我在使用StringBuilder 时遇到了问题,因为我不确定如何正确使用它。

public class Reverse3 {
    public static void main(String[] args) { 
        char[] name = {'S', 't', 'e', 'v', 'e'};

        for(char c = 0; c < name.length; c++){
            System.out.println(name[c]);
        }

        StringBuilder sb = new StringBuilder(name);
        System.out.println(Builder.reverse());
    }
}

【问题讨论】:

标签: java arrays stringbuilder


【解决方案1】:

没有采用char[]StringBuilder 构造函数。您可以在循环中附加字符。或者使用int 作为循环计数器,例如,

char[] name = "Steve".toCharArray();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < name.length; i++) {
    sb.append(name[i]);
}
System.out.println(sb.reverse());

使用for-each 循环

char[] name = "Steve".toCharArray();
StringBuilder sb = new StringBuilder();
for (char ch : name) {
    sb.append(ch);
}
System.out.println(sb.reverse());

两个输出

evetS

【讨论】:

    【解决方案2】:

    将 char 数组转换为字符串。

    StringBuilder sb = new StringBuilder(new String(name));
    System.out.println(sb.reverse().toString());
    

    【讨论】:

    • 嘿!感谢这一点,它现在肯定工作得更好。快速的问题,,,如果我想在他们自己的行上拼出每个名字怎么办,我会喜欢 input.nextLine() ???
    • 我不确定你的意思。你的意思是打印出反转的字符串吗?如果是这样,您只需执行相同的操作,但将字符串转换为 char[]。 char[] reverseNameArray = sb.reverse().toString().toCharArray();然后在 char[] 上使用 for 循环
    【解决方案3】:

    您不能直接将数组转换为字符串生成器。

    请改用这个。

    public static void main(String []args){
    
        char[] name = {'S', 't', 'e', 'v', 'e'};
    
        StringBuilder sb = new StringBuilder();
    
        for(char c = 0; c < name.length; c++){
            sb.append(name[c]);
            System.out.println(name[c]);
        }
    
        System.out.println(sb.reverse());
    
     }
    

    快乐编码... :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-06-18
      • 2013-12-17
      • 2018-02-19
      • 1970-01-01
      • 2013-12-07
      • 1970-01-01
      • 2014-11-16
      • 1970-01-01
      相关资源
      最近更新 更多