가로의 길이를 n 세로의 길이를 m 을 입력받아 5x3의 형태가 되는 직사각형 별을 찍는 문제
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
//내가 수정한 부분
for(int m=1; m<=3; m++){
for(int n=1; n<=5; n++){
System.out.print("*");
}
System.out.println("");
//
}
}
}
내가 해결한 방법은 먼저 입력을 받지 않고 일단 for문을 이용해 5x3이 되는 직사각형을 먼저 만들어 보았다. 여기서 m은 세로줄(행)을 뜻하는 변수이고 n은 가로줄(열)을 뜻하는 변수로 선언 하였다. 이중 for문이기 때문에 n이 5번돌고 나서 밖에 있는 for문을 한번 수행 하기 때문에 변수n을 다섯번까지 실행 하게 되면 을 가로로 다섯개 찍도록 코드를 짰고 첫번째 for문을 빠져나와 println을 실행해 줄바꿈을 하여 두번째 줄에도 첫번째와 같이 을 가로로 5개 찍도록 하였다.
이때 i는 3까지 이므로 반복문은 i가 3번 다 돌고나면 그때 종료 하게 된다.
이러면 5x3형태의 직사각형 별을 찍어낼 수 있고 여기서 추가적으로 Scanner를 이용해 원하는 숫자를 대입하여 코드를 최종적으로 수정하게 되면
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
for(int m=1; m<=b; m++){
for(int n=1; n<=a; n++){
System.out.print("*");
}
System.out.println();
}
}
}
for안에 있는 조건식이 바뀐걸 확인할 수 있다.