• ベストアンサー

【Java】for文で文字列反転

Javaのfor文で文字列を反転して出力させるにはどうしたらいいのでしょうか。 超初心者なのでコード等の説明を付していただけるとありがたいです。

  • incle
  • お礼率97% (33/34)
  • Java
  • 回答数3
  • ありがとう数5

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

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

これも課題か何か? String str = "あいうえお"; for ( int i = str.length - 1; i >=0; i -- ) { str = "おえういあ"; } System.out.println ( str ); これも別に難しいことしてないから自分で動きを追ってみて。

incle
質問者

お礼

回答ありがとうございます。 自分で動きを追って考えてみます。

その他の回答 (2)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.3

class Q8036715 { public static void main(String[] args) { String s = "for文で文字列反転"; for (int i = 0; i < s.length(); i++) { System.out.print(s.charAt(i)); } System.out.println(); for (int i = s.length() - 1; i >= 0; i--) { System.out.print(s.charAt(i)); } System.out.println(); } }

incle
質問者

お礼

回答ありがとうございます。

  • teketon
  • ベストアンサー率65% (141/215)
回答No.2

初心者向けの話だと、文字列の反転にfor文等の繰り返し処理を使ってはいけません。 System.out.println(new StringBuffer("たけやぶやけた").reverse());

incle
質問者

お礼

回答ありがとうございます。 そのような処理をしてはいけないんですね。 知りませんでした。

関連するQ&A

  • for文で文字列先頭削除【Java】

    for文を使用し、入力した文字列の先頭を削除して出力させるにはどうすればいいのでしょうか。 超初心者なのでできれば詳しく解説お願いします。

    • ベストアンサー
    • Java
  • 文字列の作成

    こんばんは aとbとcを使って文字列を作成したいのですがコードが書けません。 困りました。 例 abc bbc cbc aac acc ~~~~~ ccc 全部で27通りだと思います。 出力は配列かリストでお願いします。 for文で書くのかな~~~ 困りましたね~~~~

  • 文字列の反転

    こんばんわ。C言語初学者の者です。早速質問させてください。 (1) char a; aの中身には、アルファベット小文字の文字列が5個並んでいるとします。 その文字列を前後反転させるにはどうすればいいでしょうか? 例えばabcdeと並んでいる文字列をedcbaとする場合です。(キーボードからabcdeと打ち込んだとき、aにedcbaと格納させたいのです) (2) char a;   char b;  中身は文字列で、二つを合体させたい場合どうすればいいのでしょうか?  例えば aにはth 、bにはatと格納されている場合thatと繋げたいのです。  よろしくお願いします。

  • リストコントロールのクリック操作による文字列反転について

    VisualC++2005(MFC)でダイアログベースのプログラムを作成しています。そして、ダイアログにリストコントロールを配置して、文字列を一行単位に出力しています。そのリストコントロールの文字列箇所をクリックしても反転しないようにするためにはどのようにしたら良いのでしょうか?、お教えください。 ※DisabledプロパティをTRUEにしたら、クリックしても、文字列箇所が反転しないようになったのですが、縦スクロールバーまで使用出来なくなってしまいました。

  • for in 文の中で文字列を削除したい

    for in 文の中で、replaceとかを使って、文字列削除できるでしょうか? 試した限りはできなかったのですが… 走査するだけ?

  • 文字を反転させる。

    以下の手順に従ってプログラムを作成せよ.適宜printf を利用して,入力支援(「文字列を入 力して下さい」などの画面表示)を行うこと. (1) キーボードから文字列を入力し,文字配列s[64] に格納する. (2) 文字配列s[64] に格納されている文字列を逆順にしてt[64] に格納する(配列全部を逆 順にするのではなく,NULL 文字までの要素を逆順にする). (3) t[64] を画面表示する. ポインタ使用不可、ヘッダファイル<stdio.h>だけ 入力された文字を反転させるということでしょうか?? #include <stdio.h> int main(void){ int i; char s[256]; char t[256]; printf("文字列を入力:"); scanf("%s" , s); for ( i = 0; i < '\n'; i++ ){ t[i] = s[i]; } printf("文字列の逆順は%s",t); getchar(); getchar(); return(0); } これだとただ入力された文字を出力するだけになってしまいますよね・・・・。どうすればいいのでしょうか?

  • 文字の反転

    こんにちは。 妻がアイロンプリント用の用紙を購入しました。 が、文字を普通に印字しアイロンプリントしますと反対になってしまいます。 文字を反転して出力したいのですが・・・。 家庭用のPCで全くソフトが入っていません。 文字を反転してプリントする方法はあるのでしょうか? 宜しく御願い致します。

  • 大文字の文字列→小文字の文字列

    C言語初心者です。 ある演習問題をやっていて詰まっています。 自分で入力した大文字の文字列を小文字にするプログラムを作るという問題なのですが、↓の条件があり、こんがらがってしまいました。 ・入力した文字列に小文字が含まれていたら、エラーと表示して再び入力を促し、0を入力するとプログラム終了という流れにする。 ・ポインタ変数を使う。 ・continue文を使う。 ・標準ライブラリ関数は使わない。 です。 ・continue文というのがよくわからない。 ・宣言した関数でどの処理をすればいいのかわからない。 ・大文字を小文字にするというプログラムがわからない。 (アスキーコードをどう使うのか) でつまっています。 どなたかアドバイス・解説・模範解答・指摘などしていただけないでしょうか。 よろしくお願い致します。

  • for文とStringBuffer

    javaのfor文の使い方 質問者:asutarisuk コマンドライン引数で入力した文字が3文字以下ならその文字列を20個文字連結して表示し、4文字以上ならたくさんと表示したいのですが表示できません。 import java.io.*; public class ABC { public static void main(String args[])throws IOException{ BufferedReader myReader = new BufferedReader( new InputStreamReader(System.in), 1 ); String str = myReader,readLine(); if(str.length() >= 4){ System.out.println("たくさん"); } StringBuffer buf = new StringBuffer(str.length()*20); for(int i = 0;i < 20; i++){ buf.append(str); System.out.println(buf); } } } としたら、たくさんと表示されません。どこを修正すればいいでしょうか?ちなみにfor文とStringBufferクラスを用いてというのが条件です。

    • ベストアンサー
    • Java
  • バッチでfor文で文字列の中身を繰り返したい

    バッチで、for文で、半角スペースやタブ以外で区切られた文字列から、区切り文字毎に 取り出したいのですが、最初の1回しか取り出せません。最後まで繰り返しが行われませ ん。 バッチでは、そもそも、半角スペースやタブ以外では、文字列の中身を繰り返すことは できないのでしょうか。 それとも、他に良い方法があります。 やっていることは、 例えば、 for文で、スラッシュ「/」で区切られた文字列からスラッシュ毎に取り出そうとしている のですが、最初の1回目しか表示されず、最後まで繰り返しが行われません。 以下、色々と試したのですが..... set str=abc/def/ghi/jkl/mno/pqr/stu/vwx/yz for %%a in (%str%) do echo %%a の場合は、 1行そのまま表示されます。(あたりまえです。) for "delims=/" %%a in (%str%) do echo %%a for "delims=/" %%a in ('echo %str%') do echo %%a の場合は、 「"delims=/" の使い方が誤っています。」となります。 for /f "delims=/" %%a in ('echo %str%') do echo %%a の場合は、 最初の1回目の「abc」しか表示されず、そこで処理が終わり、残りが表示されない。 期待している結果は、 これを、 abc def ghi jkl mno pqr stu vwx yz と表示させたい。 set str=abc def ghi jkl mno pqr stu vwx yz for %%a in (%str%) do echo %%a の場合は、 abc def ghi jkl mno pqr stu vwx yz と表示されます。 バッチでは、そもそも、半角スペースやタブ以外では、文字列の中身を繰り返すことは できないのでしょうか。 できる場合、その方法を教えてください。また、他に良い方法がありましたら、教えて下さい。

専門家に質問してみよう