- 締切済み
7つ数字を表示したら改行するというjava文。
7つ数字を表示したら改行するというjava文。 (ex) 6,7,8,9,10,11,12 13,14,15,16,17,18,19 ・・・・ 1から始まるものは7で割って0になればとすればいいですが、中途半端な数のときどうすればいいか分かりません。 出来そうで出来ないのでお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- ssr-y6
- ベストアンサー率71% (5/7)
1から始まる場合はn%7==0で改行、2から始まる場合はn%7==1で改行、...7から始まる場合はn%7==6で改行となります。 -9から始まる場合は、nが負の数のときn%7==-3で、正の数のときn%7==4で改行になります。 以下は、指定された値から100までの数を7つごとに改行して書き出すサンプルです。 public class kaigyou { public static void main(String args[]) { int i = 2; int Kaigyou; try { i = Integer.parseInt(args[0]); } catch (Exception e) {}; Kaigyou = i % 7 - 1; if (Kaigyou < 0) Kaigyou += 7; System.out.println("Kaigyou=" + Integer.toString(Kaigyou)); for (; i <= 100; i ++) { System.out.print(i); if (((i % 7) == Kaigyou) || ((i % 7) == Kaigyou - 7)) System.out.println(""); else System.out.print(" "); }; }; }
- luckymako
- ベストアンサー率55% (29/52)
カウンタ付きのプリントを作ってしまうというのはいかがでしょうか? 行頭の全角スペースは半角スペース等に置換して下さい。 import java.util.Random; public class TablePrint { private int cols = 1; private int col = 0; public TablePrint(int cols){ this.cols = cols; } public void print(Number val){ print(val.toString()); } public void print(String str){ if(col++ < cols - 1){ System.out.print(str + ","); } else{ System.out.println(str); col = 0; } } public static void main(String[] args) { TablePrint tp = new TablePrint(7); Random rnd = new Random(); for(int i = 0; i < 21; i++){ tp.print(rnd.nextInt(50)); } for(int i = 0; i < 21; i++){ tp.print(i); } } }
- neko_noko
- ベストアンサー率45% (146/319)
>1から始まるものは7で割って0になればとすればいいですが、中途半端な数のときどうす >ればいいか分かりません。 まさかとは思うけど、 6,7,8…とあって、 6 % 7 7 % 7 8 % 7 : とか考えてないですか?
- _ranco_
- ベストアンサー率58% (126/214)
>1から始まるものは7で割って0になればとすればいいですが、中途半端な数のときどうすれば 意味がよく分かりません。入力がどんな入力で、出力はどうあるべきか、具体例を示してください。たとえば、入力は乱数列ですか?。それとも順序数?。いくつ数列を出力すればいいのか?。などなど、などなど。 こんなコードかしら?: for (int num = 1; num <= limit; ++num){ for (int i = 0; i < 7; ++i){ if (i < 6){ System.out.print(array[num * i] + ","); } else{ //最後はカンマ不要 System.out.print(array[num * i]); } } System.out.println(); //改行を出力 } // 全回数終了