- ベストアンサー
eclipseを使って縦横に表示する方法
- eclipseを使用して、縦横に数値を表示する方法を教えてください。
- 現在のコードでは、数値を1つずつ表示しているため、縦横に表示することができません。
- 具体的な表示方法として、2の倍数は「2の倍数」と表示し、3の倍数は「3の倍数」と表示するように変更する必要があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>自分は、1~10の数字を縦に表示させたいという理由でSystem.out.println(i);にしたのですが、どうしてうまくいかなかったのですか? forループの中で最初にSystem.out.print(i);を実行したときモニターにはiの値が出力され改行は起こりません。 次にifでiの値をチェックし、trueのとき" 2の倍数"を先ほどのiの値の右側へ出力します。(このときも改行は起こりません) 更にifでiの値をチェックし、trueのとき" 3の倍数"を先ほどの" 2の倍数"の右へ出力します。(このときも改行は起こりません) ループの最後にSystem.out.println();を実行するとモニターへは改行のみ出力されます。 次はループの先頭に戻りiの値が1繰り上がってモニターの左端からiの値を出力できます。 System.out.print([値]);は値を改行無しでモニターへ出力します。 System.out.println([値]);は値を改行付きでモニターへ出力します。([値]が無いときは改行のみ出力されます) プログラムを組むときはフローチャートで動作を確認しながら記述されると誤りを防げます。 また、組み込みモジュールの動作を覚えるよう努力してください。
その他の回答 (3)
- bunjii
- ベストアンサー率43% (3589/8249)
回答No.2の追記です。 forループのi++は戻ってきたときインクリメントされますのでiの初期値は0ではなく1にしないと質問文の目的通りになりません。 i=6 のとき 「6 2の倍数」を「6 2の倍数 3の倍数」とするためには下記のように修正しなければなりません。 if([2の倍数か?]){[trueのときの処理];}else{if([3の倍数か?]){[trueのときの処理];}} ↓ if([2の倍数か?]){[trueのときの処理];} if([3の倍数か?]){[trueのときの処理];}
- amanojaku1
- ベストアンサー率54% (265/488)
>eclipseを使って Javaですよね?。 eclipseはJavaだけの開発環境ではないので、eclipseと言うのではなく何の言語かが重要です。 // int i; ← for文で変数「i」を宣言しているので、ここで変数「i」を宣言する必要はない。 for(int i=0;i<10;i++){ System.out.print(i); if( i!=0 ){ if( (i%2)==0 ){ System.out.print(" 2の倍数"); } if( (i%3)==0 ){ System.out.print(" 3の倍数"); } } System.out.println(); // 改行だけする。 }
お礼
javaです(_ _) 丁寧に書いていただき、ありがとうございました。
- bunjii
- ベストアンサー率43% (3589/8249)
>eclipseを使って次のように表示したいのですがどうすれば良いですか? プログラム言語はJavaですか? System.out.println(i);をSystem.out.print(i);に修正してください。 また、if([論理演算]){[処理]}を2段階(2の倍数、3の倍数)で処理後にSystem.out.println();を追加してください。
補足
回答ありがとうございます。 言語はJavaです int i; for(int i=0;i<10;i++){ System.out.print(i); if(i==2||i==4||i==6||i==8){ System.out.print(" 2の倍数"); }else if(i==3||i==6||i==9){ System.out.println(" 3の倍数"); } System.out.println(); } 結果が 0 1 2 2の倍数 3 3の倍数 4 2の倍数 5 6 2の倍数 7 8 2の倍数 9 3の倍数 になりもう少しなのですが・・・ 後質問なのですが、System.out.println(i);をSystem.out.print(i);に変えるというところで、自分は、1~10の数字を縦に表示させたいという理由でSystem.out.println(i);にしたのですが、どうしてうまくいかなかったのですか?また最後に追加したSystem.out.println();も表示結果を縦にするという処理だと思うのですが、どの範囲を縦にするということなのですか?
お礼
いろいろ質問に答えていただきありがとうございました。またアドバイスもいただき、組み込みモジュールの動作も勉強していこうと思いました。