• ベストアンサー

javaプログラミングについて

char配列に入っている文字を別のchar配列へ逆向きにfor文で代入するソースを教えてください。 例:char1[a,b,c]→char2[c,b,a] うまく説明できているかわかりませんがよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

> for( int i = 0; i<=max; i++ ){ 比較演算子が「<」から「<=」に変更されている事に注意して下さい。

phoenix-1214
質問者

お礼

詳しくありがとうございました。助かりました!!

その他の回答 (3)

回答No.3

> char[] char1 = new char[]{ > 'a','b','c', > }; > char[] char2 = new char[char1.length]; > int lng = char1.length; > for( int i = 0; i<lng; i++ ){ > char2[lng-1-i] = char1[i]; // ←ここが間違ってました。 > } > for( int i = 0; i<lng; i++ ){ > System.out.println( > "i="+i+"; "+ > "char2[i]="+char2[i]+"; "+ > ""); > } 下記のようにした方が分かりやすいかもしれません。 char[] char1 = new char[]{ 'a','b','c', }; char[] char2 = new char[char1.length]; int max = char1.length-1; for( int i = 0; i<=max; i++ ){ char2[max-i] = char1[i]; } for( int i = 0; i<char2.length; i++ ){ System.out.println( // デバッグ用 "i="+i+"; "+ "char2[i]="+char2[i]+"; "+ ""); }

回答No.2

> 回答有難うございます。実行してみたのですがエラーがでました(;^_^A 大変申し訳ございませんm(_ _)mバグが有りました。 char[] char1 = new char[]{ 'a','b','c', }; char[] char2 = new char[char1.length]; int lng = char1.length; for( int i = 0; i<lng; i++ ){ char2[lng-1-i] = char1[i]; // ←ここが間違ってました。 } for( int i = 0; i<lng; i++ ){ System.out.println( "i="+i+"; "+ "char2[i]="+char2[i]+"; "+ ""); }

回答No.1

実行していませんが、これで良いと思います。 public static void main(String[] args) { char[] char1 = new char[]{ 'a','b','c', }; char[] char2 = new char[char1.length]; int lng = char1.length; for( int i = 0; i<lng; i++ ){ char2[lng-i] = char1[i]; } }

phoenix-1214
質問者

補足

回答有難うございます。実行してみたのですがエラーがでました(;^_^A for(int i =0;i<lng;i++){のとこで引っかかるみたいです。僕が間違っているのかもしれません。色々試してみます

関連するQ&A