-4

反転した文字列aを関数なしでbに格納したい。

public static void main(String args []){

  BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
  String a=br.readLine();
  String b;
  for(int x=0,y=a.length()-1;x<a.length();x++,y--)
  {
             b.charAt(x)=a.charAt(y);
  }

しかし、私はこのエラーを受け取ります:

                   b.charAt(x)=a.charAt(y);
                           ^

必須:変数

見つかった:値

1エラー

それを説明して、私がそれを修正するのを手伝ってくれませんか?

4

5 に答える 5

4

=記号のままにすると、式ではなく変数名が必要になります。

ただし、文字列は不変であるため、このようにすることはできません。たとえば、文字列を効率的に追加できるように設計されたStringBuilderなど、文字列とは別の構造を使用する必要があります。

  StringBuilder b = new StringBuilder();
  for(int x=0,y=a.length()-1;x<a.length();x++,y--) {
         b.append(a.charAt(y));
  }
于 2012-10-23T16:19:23.840 に答える
3

文字列を逆にする最も簡単な方法は、逆メソッドが組み込まれているため、文字列バッファを使用することです。次に、文字列バッファを保存するために、このような変数に保存できます。

StringBuffer sb = new StringBuffer(a.reverse());

sb.toString(); //if you want the result as a string
于 2012-10-23T16:29:27.883 に答える
0

最初に次のように初期化bします:String b = "";

その後、単に交換します

b.charAt(x)=a.charAt(y);

 b= b+ a.charAt(y); 

これにより、次の文字が追加されますb

于 2012-10-23T16:23:06.203 に答える
0

あなたはただすることができます

String a = "hello"; // the String to be reversed
String b = ""; // the String to store the reversed String
for (int i = a.length()-1; i >= 0; i--) {
    b = b+a.charAt(i);
}
于 2012-10-23T16:23:51.547 に答える
0

次のように、char配列を逆にすることもできます。

char[] chars = input.toCharArray();

for(int i=0; i<chars.length/2; i++) {
    char temp = chars[i];
    chars[i] = chars[chars.length - i - 1];
    chars[chars.length - i - 1] = temp;
}

String reversed = String.valueOf(chars);

ただし、@ dystroyが提案したように、文字列は不変であるため、何を選択しても、文字列自体を変更しないことに注意してください。

于 2012-10-23T16:28:29.803 に答える