-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCrossSquare.java
68 lines (54 loc) · 1.44 KB
/
CrossSquare.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import java.util.Scanner;
public class CrossSquare {
public void make_square(int inputlen, int inputterm) {
String[][] squareArray = new String[inputlen][inputlen];
int i, j;
int sum=0;
int cnt=0;
int maxTerm = 0;
int tmp;
for(i = 0; i<inputlen; i++) {
for(j = 0; j<inputlen; j++) {
squareArray[i][j] = " ";
squareArray[1][1] = "*";
if(i==0 || i==inputlen-1 || j == 0 || j == inputlen-1) { // 처음, 끝, 양 옆
squareArray[i][j] = "*";
}
if(i>=1 && j>=1){ // 빗금
maxTerm = maxTerm + inputterm;
if(maxTerm > inputlen-1) { // 간격과 원래 index를 더한 값이 배열크기 이상일 때,
maxTerm -= inputlen;
maxTerm -= 2;
tmp = j;
j = maxTerm;
squareArray[i][j] = "*";
System.out.print(squareArray[i][j]);
maxTerm = j;
j = tmp;
}
else {
System.out.print(squareArray[i][j]);
}
squareArray[i][j] = "*";
}
else {
System.out.print(squareArray[i][j]);
}
cnt++;
if(cnt % 10 == 0) {
System.out.println();
}
}
}
}
public static void main(String[] args) {
int inputlen, inputterm;
Scanner sc = new Scanner(System.in);
System.out.println("정사각형의 한 변의 길이를 입력하세요.");
inputlen = sc.nextInt();
System.out.println("빗줄의 간격을 입력하세요.");
inputterm = sc.nextInt();
CrossSquare cs = new CrossSquare();
cs.make_square(inputlen, inputterm);
}
}