• 締切済み

javaプログラミング初心者の質問です。

1 3 5 7 9 11 13 15 17 19 21 23 のように10個ずつ改行し99までの奇数を表せるプログラムをお願いします。 できれば同じように100までの偶数を表示できるプログラムもお願いします。

みんなの回答

  • GYG
  • ベストアンサー率33% (1/3)
回答No.4

No.3の者です 間違えてました、a=0,b=0でスタートしないと、 10個づつで改行になりませんでした。 訂正します。 for(int c=1,a=0; c<100; c+=2,a++){ if(a%10==0){System.out.print("\n");} System.out.print(" "+c); } System.out.print("\n"); for(int d=2,b=0;d<101; d+=2,b++){ if(b%10==0){System.out.print("\n");} System.out.print(" "+d); } for文の変則的な使い方ですが、条件判断は一つのみですが、 条件式の中に変数をいくつでも入れれるということを見せたかったのですが、、、 可読性が悪くなるので嫌う人も多いかも、 しかし、変数を複数使えるので、うまく利用すれば便利な使い方かも。 ロジックは他の人のを流用させていただきましたm(__)m。

  • GYG
  • ベストアンサー率33% (1/3)
回答No.3

public class Sample { public Sample(){ for(int c=1,a=1; c<100; c+=2,a++){ if(a%10==0){System.out.print("\n");} System.out.print(" "+c); } System.out.print("\n"); for(int d=2,b=1;d<101; d+=2,b++){ if(b%10==0){System.out.print("\n");} System.out.print(" "+d); } } public static void main(String[] args) { Sample s=new Sample(); } } こんな感じでいかがでしょう?

  • ahflahxh
  • ベストアンサー率100% (1/1)
回答No.2

無駄の多いコードですが、とりあえずはこれで動くかな? int cnt = 0; StringBuffer buf = new StringBuffer(); /* 100まで繰り返し */ for(int i = 0; i < 100; i++){ if(i == 0){ /* 0を飛ばす */ continue; } if(i % 2 == 0){ /* カウンタを2で割ったときの余りが0なら飛ばす(偶数を飛ばす) */ continue; } /* カウンタ書き出し */ buf.append(i + " "); /* 書き出し回数を1加算 */ cnt++; if(cnt % 10 == 0){ /* 書き出し回数が10の倍数なら改行 */ buf.append(System.getProperty("line.separator")); } } /* 出力 */ System.out.println(buf.toString()); 偶数を100まで出したいときは、for文のカウント回数を101まで、「カウンタを2で割ったときの余り~」を「i % 2 == 1」にすれば良いと思います。

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

class Print{ public static void main(String[] args){ System.out.println("1 3 5 7 9 11 13 15 17 19"); System.out.println("21 23 25 27 29 31 33 35 37 39"); System.out.println("41 43 45 47 49 51 53 55 57 59"); System.out.println("61 63 65 67 69 71 73 75 77 79"); System.out.println("81 83 85 87 89 91 93 95 97 99"); System.out.println("2 4 6 8 10 12 14 16 18 20"); System.out.println("22 24 26 28 30 32 34 36 38 40"); System.out.println("42 44 46 48 50 52 54 56 58 60"); System.out.println("62 64 66 68 70 72 74 76 78 80"); System.out.println("82 84 86 88 90 92 94 96 98 100"); }}

takki-a
質問者

補足

もっと短いのでお願いします。

関連するQ&A