처음에 보자마자 switch문을 쓰면 좋겠다 생각해서 만들었는데 소스가 너무 길어졌다...
for문이랑 if문을 어떻게 잘 쓰면 좀 더 간결하게 만들 수 있을 것 같은데...
우선 버전1이니까 이렇게 만들고 다음에 수정해야겠다.
[소스코드 공유]
// 구구단 출력기 ver1 (23/05/21)
import java.util.Iterator;
import java.util.Scanner;
public class multiplicationTable {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("구구단 출력기 (1단-9단)");
System.out.println("구구단 출력기를 사용하시겠습니까?(0: 예/ 1:아니오)");
int userChoice = Integer.parseInt(sc.nextLine());
if(userChoice==0) {
System.out.println("원하는 구구단을 입력해주세요 (예시: '1' 입력 시, 구구단 1단이 출력됩니다)");
sc = new Scanner(System.in);
int multiTab = Integer.parseInt(sc.nextLine());
int num = 2;
switch (multiTab) {
case 1:
System.out.println(multiTab+"단을 출력합니다");
for(multiTab=1; multiTab<num; multiTab++) {
for(int i=1; i<10; i++) {
System.out.println(multiTab+"x"+i+"="+multiTab*i);
}
}
System.out.println();
break;
case 2:
num+=1;
System.out.println(multiTab+"단을 출력합니다");
for(multiTab=2; multiTab<num; multiTab++) {
for(int i=1; i<10; i++) {
System.out.println(multiTab+"x"+i+"="+multiTab*i);
}
}
System.out.println();
break;
case 3:
num+=2;
System.out.println(multiTab+"단을 출력합니다");
for(multiTab=3; multiTab<num; multiTab++) {
for(int i=1; i<10; i++) {
System.out.println(multiTab+"x"+i+"="+multiTab*i);
}
}
System.out.println();
break;
case 4:
num+=3;
System.out.println(multiTab+"단을 출력합니다");
for(multiTab=4; multiTab<num; multiTab++) {
for(int i=1; i<10; i++) {
System.out.println(multiTab+"x"+i+"="+multiTab*i);
}
}
System.out.println();
break;
case 5:
num+=4;
System.out.println(multiTab+"단을 출력합니다");
for(multiTab=5; multiTab<num; multiTab++) {
for(int i=1; i<10; i++) {
System.out.println(multiTab+"x"+i+"="+multiTab*i);
}
}
System.out.println();
break;
case 6:
num+=5;
System.out.println(multiTab+"단을 출력합니다");
for(multiTab=6; multiTab<num; multiTab++) {
for(int i=1; i<10; i++) {
System.out.println(multiTab+"x"+i+"="+multiTab*i);
}
}
System.out.println();
break;
case 7:
num+=6;
System.out.println(multiTab+"단을 출력합니다");
for(multiTab=7; multiTab<num; multiTab++) {
for(int i=1; i<10; i++) {
System.out.println(multiTab+"x"+i+"="+multiTab*i);
}
}
System.out.println();
break;
case 8:
num+=7;
System.out.println(multiTab+"단을 출력합니다");
for(multiTab=8; multiTab<num; multiTab++) {
for(int i=1; i<10; i++) {
System.out.println(multiTab+"x"+i+"="+multiTab*i);
}
}
System.out.println();
break;
case 9:
num+=8;
System.out.println(multiTab+"단을 출력합니다");
for(multiTab=9; multiTab<num; multiTab++) {
for(int i=1; i<10; i++) {
System.out.println(multiTab+"x"+i+"="+multiTab*i);
}
}
System.out.println();
break;
}
}
else if(userChoice==1) {
System.out.println("프로그램을 종료합니다");
}
else {
System.out.println("잘못입력하셨습니다. 다시 실행해주세요");
}
}
}
[출력예시]
'공부 > 코드모음' 카테고리의 다른 글
[배열] 전체 합과 평균 구하기 (0) | 2023.06.03 |
---|---|
배열 최대값/ 최소값 구하기 (0) | 2023.06.02 |
주민번호 입력 - 남/여 맞추기 (0) | 2023.05.31 |
[5月] 단순한 계산기 만들기 (0) | 2023.05.21 |
5월 프로젝트 계획 (0) | 2023.05.21 |