728x90
320x100
package chap01;
import java.util.Scanner;
public class PrintStars1 {
//*를 n개 출력하되 w개마다 줄 바꿈을 하는 프로그램.
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n, w;
System.out.println("*개를 출력하되 w개마다 줄을 바꿔서 출력합니다.");
// n개를 출력하되 0 이하면 안됨.
do{
System.out.println("n값 : ");
n = scan.nextInt();
} while(n <= 0);
// w개도 0 이하면 안됨, n보다는 커야함.
do{
System.out.println("w값 : ");
w = scan.nextInt();
} while(w <= 0 || w > n);
for (int i = 0; i < n; i++){
System.out.print("*");
if (i % w == w - 1)
System.out.println();
}
if (n % w != 0)
System.out.println();
}
}
위와 같이 구현이 가능하나 for문을 돌때마다 If문이 돌아 가기 때문에 비효율적일 수 있음.
package chap01;
import java.util.Scanner;
public class PrintStars2 {
//*를 n개 출력하되 w개마다 줄 바꿈을 하는 프로그램.
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n, w;
System.out.println("*개를 출력하되 w개마다 줄을 바꿔서 출력합니다.");
// n개를 출력하되 0 이하면 안됨.
do{
System.out.println("n값 : ");
n = scan.nextInt();
} while(n <= 0);
// w개도 0 이하면 안됨, n보다는 커야함.
do{
System.out.println("w값 : ");
w = scan.nextInt();
} while(w <= 0 || w > n);
for (int i = 0; i < n / w; i++){
System.out.println("*".repeat(w));
}
int rest = n % w;
if (rest != 0)
System.out.println("*".repeat(rest));
}
}
위와 같이 변경하여 구현할 수 있음.
728x90
320x100
'💻 하나씩 차곡차곡 > 자료구조 & 알고리즘(JAVA)' 카테고리의 다른 글
이중루프를 사용하여 구구단 곱셈표 출력하기 (chap01/Multi99Table) (1) | 2022.10.13 |
---|---|
2자리 양수만 입력받기 (chap01/Twodigits) (0) | 2022.10.12 |
for문을 이용하여 지정한 갯수의 기호(+,-)를 번갈아가며 출력하기 (chap01/Alternative1,2) (0) | 2022.10.10 |
for문을 이용하여 1부터 n까지의 합과 그 값을 구하는 과정 출력하기 (chap01/SumVerbose1) (0) | 2022.10.09 |
for문을 사용하여 양수만 입력받아 1부터 n까지의 합 구하기 (chap01/SumFor2) (0) | 2022.10.08 |