0

文字列の最初と最後の文字を交換しようとしているので、最初と最後の文字を取得できましたが、それらをすべてまとめるのに苦労しています:

   String name="pera";
   char[] c = name.toCharArray();
   char first = c[0];
   char last = c[c.length-1];
   name.replace(first, last);
   name.replace(last, first);
   System.out.println(name);  

変数「first」には「p」の値、変数「last」には「a」の値を取得していますが、名前がそのままであるため、これらのメソッド replace() は有効な結果を返しません。 . これを終了する方法について誰か考えがありますか?

4

5 に答える 5

1
 c[0] = last;
 c[c.length-1] = first;
 System.out.println(new String(c));
于 2013-08-27T13:32:53.060 に答える
0

正規表現ベースのソリューションは次のとおりです。

String str = "demo";
String swapped = str.replaceAll("^(.)(.*)(.)$", "$3$2$1");
于 2013-08-27T13:30:40.977 に答える
0

@Martijn Courteauxのソリューションに関連しています。次のように、同じ文字列内に結果を格納することもできるstrため、スペースを少し節約できます。

String str = "pera";
String str = str.charAt(str.length() - 1) + str.substring(1, str.length() - 1) + str.charAt(0);
于 2013-08-28T15:09:31.827 に答える