質問編集履歴

2

修正

2015/05/12 10:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -1,113 +1 @@
1
1
  JAVA初心者です。繰り返しを使って、以下のような網目模様を表示するプログラムを作成しました。
2
-
3
-
4
-
5
-
6
-
7
- import java.util.Scanner;
8
-
9
-
10
-
11
- public class Amimemoyou {
12
-
13
- public static void main (String[] args) {
14
-
15
- Scanner stdin = new Scanner (System.in);
16
-
17
-
18
-
19
- System.out.print("Size> ");
20
-
21
- int n = stdin.nextInt();
22
-
23
- System.out.print("\n");
24
-
25
-
26
-
27
- //縦方向に空白と*の塊を、3回繰り返す
28
-
29
- for(int i = 1; i <= 3; i++) {
30
-
31
-
32
-
33
- //最初の空白と、その右の*の塊
34
-
35
- //縦
36
-
37
- for(int j = 1; j <= n; j++) {
38
-
39
- //横
40
-
41
- for(int l = 1; l <= 4; l++) {
42
-
43
- for(int k = 1; k <= 2*n; k++) {
44
-
45
- if(k >= n + 1 && k <= 2 * n) {
46
-
47
- System.out.print("*");
48
-
49
- }else{
50
-
51
-
52
-
53
- System.out.print(" ");
54
-
55
- }
56
-
57
- }
58
-
59
- }
60
-
61
- System.out.print("\n");
62
-
63
- }
64
-
65
-
66
-
67
- //上から二番目の*の塊と、その右の空白
68
-
69
- //縦
70
-
71
- for(int j = 1; j <= n; j++) {
72
-
73
- //横
74
-
75
- for(int l = 1; l <= 4; l++) {
76
-
77
- for(int k = 1; k <= 2*n; k++) {
78
-
79
- if(k >= n + 1 && k <= 2 * n) {
80
-
81
- System.out.print(" ");
82
-
83
- }else{
84
-
85
- System.out.print("*");
86
-
87
- }
88
-
89
- }
90
-
91
- }
92
-
93
- System.out.print("\n");
94
-
95
- }
96
-
97
- }
98
-
99
- }
100
-
101
- }
102
-
103
-
104
-
105
- 標準入力によって、アスタリスクと空白の数を指定できるようにしたのですが、このプログラムを縦50×横50の範囲に納めるように網目模様を表示するプログラムに書き換えたいです。
106
-
107
- 私が作成したプログラムだと、入力値が大きければ縦横共に50文字目以降も表示されてしまうので、表示されないようにしたいです。
108
-
109
-
110
-
111
- どなたかわかる方いらっしゃいましたら、御教授ください。
112
-
113
- よろしくお願いします。

1

誤字の修正

2015/05/12 10:51

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes