(1) 분석
1. 사용자에게 라인 개수를 입력받음
2. 라인개수만큼 반복해야함
3. 라인이 넘어갈때마다 1개씩 증가
4. 다형성을 이용하여 원하는 문자 출력
(2) Code
public class Star {
private char letter = '*';
public Star() {
}
public Star(char letter) {
this.letter = letter;
}
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
Star star = new Star('@');
int num = Integer.parseInt(bf.readLine()); // 라인 개수 입력 받음
star.input(num);
}
public void input(int num){
for(int i=0; i<num; i++){ // 입력 받은 라인 개수 만큼 반복
for(int j=0; j<i+1; j++) {
System.out.printf("%s ",this.letter);
}
System.out.println("");
}
}
}
(3) 결과
(1) 분석
1. 사용자에게 라인 개수를 입력받음
2. 라인개수만큼 반복해야함
3. 피라미드 모형이기 때문에 별 찍히기 전까지 공백 추가
4. 라인이 넘어갈때마다 별이 이전 라인보다 2개씩 증가
(2) Code
public class Star2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
input(num);
}
static void input(int num){
for(int i=0; i<num; i++){ // 라인 개수만큼 반복
for(int j = 1; j<num-i; j++){ // 별자리 앞에까지 빈공간 채워넣기
System.out.print(" ");
}
for(int z = 0; z<i*2+1; z++){ // 별 개수를 점점 늘려나감
System.out.print('*');
}
System.out.println();
}
}
}
(3) 결과
(1) 분석
1. 사용자에게 라인 개수를 입력받음
2. 라인개수만큼 반복해야함 이때 절반은 피라미드 삼각형, 절반은 역 피라미드 삼각형
3. 피라미드 모형이기 때문에 별 찍히기 전까지 공백 추가
4. 라인이 넘어갈때마다 별이 이전 라인보다 2개씩 증가
(2) Code
public class Diamond {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
input(num);
}
static void input(int num){
for(int i=0; i<num; i++){
for(int j=1; j<num-i; j++){
System.out.print(" ");
}
for(int z=0; z<i*2+1; z++){
System.out.print('*');
}
System.out.println();
}
for(int i=num-2; i>=0; i--){
for(int j=1; j<num-i; j++){
System.out.print(" ");
}
for(int z=0; z<i*2+1; z++){
System.out.print('*');
}
System.out.println();
}
}
}
(3) 결과