TIL 2022-09-26

JYR00·2022년 9월 27일
0

TIL

목록 보기
15/60
public class QuestionEx {
    private static Scanner scanner;

    public static void main(String[] args) {
        scanner = new Scanner(System.in);

        //        문제 1
        System.out.println("알파벳 하나를 입력하세요 : ");  //알파벳 하나를 입력하세요<- 이것도 15개의 배열
        String str = scanner.next();  //next로 받으면 공백기호를 기준으로 문자를 가져옴
//        charAt() : String 타입의 데이터 중 지정한 index의 문자를 char 타입으로 변환.

//        char이 문자형이긴하지만 '정수형'이다!!
//        char c = str.charAt(0);   //변수 c는 charAt()문자열에서 문자의 배열.0부터 문자순서가 시작 됨.
//        //char 타입의 데이터 a는 문자로는 'a' 정수로는 97로 표현 b:98 c: 99 d:100 ... 아스키코드 문자로는 'a', 정수로는 97
//        for (char a = 97; a <= c; a++){  //'a'대신 숫자 97넣어도 동일
//            for (char b = a; b <= c; b++){   //처음부터 입력한데까지 넣어줘야하니까. 알파벳은 무조건 a부터니까 b=a넣는다.
//                System.out.print(b);
//            }
//            System.out.println();
//        }
    문제 2 배열,반복문 / 입력값 받으니까 이중for문 필요없다. 하나만 있으면 됨.
//        int arrQuiz2[] = new int[10];
//
//
//        for(int i = 0; i<arrQuiz2.length; i++){
//            System.out.println("정수를 입력해주세요(현재" + (i + 1) + "번) : ");
//            arrQuiz2[i] = scanner.nextInt();
//        }
//        for(int i = 0; i<arrQuiz2.length; i++){
//            if(arrQuiz2[i]%3==0){
//                System.out.print(arrQuiz2[i] + " ");
//            }
//        }
//          사용자 입력을 반복하는 부분
            while(true){
                System.out.println(low +  "-"  + high);  //0-99
                System.out.println(i + ">>");  //몇 번 째 입력인지 보여줌

                int count = scanner.nextInt();   //사용자 입력

//                정상 범위 내의 입력인지 확인
                if(count > high || count < low){
                    System.out.println("범위를 벗어났습니다.");
                } else {
//                    입력값이 컴퓨터의 랜덤 값과 같을 경우
                    if(count == card){
                        System.out.println("정답입니다.");
                        break;    //내부 while문을 종료
                    }
//                    사용자의 입력이 컴퓨터의 랜덤값보다 클 경우
                    else if(count > card){
                        System.out.println("더 낮게");
                        high = count;  // 최대 크기의 범위를 사용자의 입력 데이터로 설정(입력하는 부분 줄어듦)
                    }
//                    사용자 입력이 컴퓨터 랜덤값보다 작을 경우
                    else{
                        System.out.println("더 높게");
                        low = count;  //최소 크기의 범위를 사용자의 입력 데이터로 설정
                    }
                }  //else문 끝남
                i++;  //if문의 i의 값 올려준다
            }
            System.out.println("다시 하시겠습니까?(y/n)>>");
//            게임이 끝나고 새 게임을 시작할 것인지 확인
            if(scanner.next().equals("n")){
                break;  //외부 while문을 종료
            }
        }

0개의 댓글