【问题标题】:String display same as it is in reverse order [duplicate]字符串显示与相反的顺序相同[重复]
【发布时间】:2015-08-13 17:02:13
【问题描述】:

团队,

我希望 java 程序以相反的顺序显示相同的字符串。

示例: 输入: 我是胡利。 输出: 我是吗

请帮我这个程序。

【问题讨论】:

标签: java


【解决方案1】:

您可以通过从头到尾迭代数组来拆分原始字符串并将其重新组合在一起:

String str = "I am hulli";
String[] parts = str.split(" ");
StringBuilder result = new StringBuilder(parts[parts.length - 1]);

// Assume there's at least one world in str
result.append(parts[parts.length - 1]); 
for (int i = parts.length - 2; i >= 0; --i) {
    result.append(" ").append(parts[i]);
}
System.out.println(result);

【讨论】:

  • 我们需要强制StringBuilder类吗?
  • 将 StringBuilder 初始化为 str 的长度会不会更有效?
  • 你能解释一下怎么做吗?
  • @NamelessVoice 你可能是对的。我本来不想用它来回答我的答案,但它确实是一个很小的变化,我只是编辑它。
【解决方案2】:

给你

import java.util.*;

class ReverseString
{
   public static void main(String args[])
   {
      String original, reverse = "";
      Scanner in = new Scanner(System.in);

      System.out.println("Enter a string to reverse");
      original = in.nextLine();

      int length = original.length();

      for ( int i = length - 1 ; i >= 0 ; i-- )
         reverse = reverse + original.charAt(i);

      System.out.println("Reverse: "+reverse);
   }
}

【讨论】:

  • 安德鲁这个程序不会像我需要的那样返回
  • 什么意思?它给你相反的顺序。
  • 哦,我明白你的意思了。好吧,您已经回答了,所以我想我来晚了
【解决方案3】:

您可以使用 Java Collections Framework 中预装的众多功能中的一个。像这样的东西会利用这个函数以相反的顺序显示字符串。

String text = "i am hulli";
String[] eachWord = text.split(" ").trim();

List<String> sentence = new ArrayList<>(eachWord.length);

for (int i = 0; i < eachWord.length; i++) {
   sentence.add(eachWord[i]);
}

Collections.reverse(sentence);

for (int i = 0; i < sentence.size(); i++) {
   System.out.print(sentence.get(i) + " ");
}
System.out.println();

【讨论】:

  • 我如何评价最佳答案
  • 选择答案旁边的不透明复选标记。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-18
  • 2021-08-14
  • 1970-01-01
  • 2022-08-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多