- ベストアンサー
javaプログラミングについて
char配列に入っている文字を別のchar配列へ逆向きにfor文で代入するソースを教えてください。 例:char1[a,b,c]→char2[c,b,a] うまく説明できているかわかりませんがよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> for( int i = 0; i<=max; i++ ){ 比較演算子が「<」から「<=」に変更されている事に注意して下さい。
その他の回答 (3)
- amanojaku1
- ベストアンサー率54% (265/488)
> 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]+"; "+ ""); }
- amanojaku1
- ベストアンサー率54% (265/488)
> 回答有難うございます。実行してみたのですがエラーがでました(;^_^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]+"; "+ ""); }
- amanojaku1
- ベストアンサー率54% (265/488)
実行していませんが、これで良いと思います。 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]; } }
補足
回答有難うございます。実行してみたのですがエラーがでました(;^_^A for(int i =0;i<lng;i++){のとこで引っかかるみたいです。僕が間違っているのかもしれません。色々試してみます
お礼
詳しくありがとうございました。助かりました!!