난 대체 또 뭘 만든거야

import java.util.Scanner;

public class PhoneNumber {
	public static void main(String[] args) {
		int first, second, third;
		Scanner scanner = new Scanner(System.in);
		boolean secondGoldNumber = false;
		boolean thirdGoldNumber = false;
		
		System.out.println("첫번째 파트");
		do {
		System.out.println("참고로 무조건 010임ㅋ");
		first = scanner.nextInt();
		} while(first != 10);
		
		System.out.println("두번째 파트");
		do {
		System.out.println("1000 ~ 9999 사이의 값을 입력하세요");
		second = scanner.nextInt();
		} while(second <= 999 || second >= 10000);
		
		System.out.println("세번째 파트");
		do {
		System.out.println("1000 ~ 9999 사이의 값을 입력하세요");
		third = scanner.nextInt();
		} while(third <= 999 || third >= 10000);
		scanner.close();
		
		switch(second) {
		case 1111: case 2222: case 3333:
		case 4444: case 5555: case 6666:
		case 7777: case 8888: case 9999:
		secondGoldNumber = true;
		}
		
		switch(third) {
		case 1111: case 2222: case 3333:
		case 4444: case 5555: case 6666:
		case 7777: case 8888: case 9999:
		thirdGoldNumber = true;
		}
		
		System.out.println("0" + first + "-" + second + "-" + third);
		
		if(secondGoldNumber == true && thirdGoldNumber == true) {
			System.out.println("더블 황금번호 ㄷㄷ");
		}
		else if(secondGoldNumber == true || thirdGoldNumber == true) {
			System.out.println("황금번호 ㅊㅋㅊㅋ");
		}
	}
}

이거 약간 더 간결하게 만들 수 있을 거 같은데…
C언어처럼 한 줄에 한꺼번에 입력받는 법 없음?

처음 입력에서
000-0000-0000
처럼 입력받아 문자열 형식으로 저장한 뒤에
필요할 때 해당 인덱스만 숫자로 바꿔 연산해보는
것도 나쁘지 않을 것 같은데요

1 Like

그리고 switch 문도
굳이 여러 경우 만드는 것보다
각 인덱스 숫자가 같은지로 판단하는 게
더 간편하게 나올 듯합니다

1 Like

ㄱㅅㄱㅅ

switch 대신
조건문을 if(value % 1111 == 0)로 해보시는건 어떨까요?

2 Likes

일반적으로는 regex 이용하지만… 생으로 한다면야. ㅇㅅㅇ

1 Like

오오오오 천재다!!1

1 Like