2

これを機能させることはできません。バッファクラスを使用せずに、ミラーのように逆方向に読み取ろうとしています。

  public static void main(String[] args) {



   Scanner keyboard = new Scanner(System. in); 

   System.out.println("Enter a phrase:");

   String phrase = keyboard.nextLine();
   String Rphrase;

   int n = phrase.length();
   int r = 0;

   do{
        n--; r++;
    Rphrase[r] = phrase[n];

  }while(n >= 0);


   System.out.println(Rphrase);
4

6 に答える 6

0

試す:

public static void main(String[] args) {
    Scanner keyboard = new Scanner(System. in); 

    System.out.println("Enter a phrase:");

    String phrase = keyboard.nextLine();
    String rPhrase = "";
    for (int i = phrase.length() - 1; i >= 0; i--)
        rPhrase += phrase.charAt(i);
    System.out.println(rPhrase);
}
于 2013-10-25T21:53:04.110 に答える
0

完全な解決策ではなく、いくつかのヒント...

の場合、ループがもう 1 回繰り返されます。n = 0これにより、 index へのアクセスが試行されます-1。だから、おそらくn > 0あなたの条件として試してみてください。

文字列が空の場合はどうなりますか? また-1、ループに入る前に、 index にアクセスしようとします。おそらく、条件を最初に置く必要があります。

String[]演算子をサポートしていません- 試してください:

Rphrase += phrase.charAt(n);

その場合、あなたも取り除くことができますr

于 2013-10-25T21:57:00.910 に答える
0

値を前後に読み取ることができるように、デクリメントを行う必要があります

for (int i = name.length() - 1, j = 0; i >= 0; i--, j++) {
newName[j] = name.charAt(i); enter code here

}

    System.out.println(newName); 

}

于 2013-10-25T22:59:29.950 に答える
0

StringBuilder.reverse を使用するだけです

str = new StringBuilder(str).reverse().toString();
于 2013-10-25T23:04:41.530 に答える