자바시작 0901
106
2020-09-06 23:54:21
0
125

자바 질문


                Scanner sc=new Scanner(System.in);

Random r =new Random();

Exit:

while(true)

{

System.out.println("새로운 난수를 발생합니다");

//1~100사이의 난수 발생


int ran=r.nextInt(100)+1;

int su,cnt=0;

while(true)

{

System.out.println("숫자입력("+ ++cnt+")");

su=sc.nextInt();

if(su>ran)

System.out.println(su+"보다 작습니다");

else if(su<ran)

System.out.println(su+"보다 큽니다");

else {

System.out.println("정답입니다("+ran+")");

System.out.println("계속하려면 y를,그만하려면 n을 눌러주세요");

//버퍼의 엔터 읽어서 제거하기

sc.nextLine();

char ans=sc.nextLine().charAt(0);

//if(!(ans=='y' ||ans=='Y'))

if(ans!='y' && ans!='Y')

break Exit;//외부 while문을 빠져나간다

else

continue Exit;//바깥쪽 반복문의 조건식으로 이동

}

}

}

System.out.println("** 정상 종료  **");

}


}

여기에서    Scanner sc=new Scanner(System.in);

Random r =new Random();

Exit: 이거는 종료하다로 밑에 break Exit;와 continue Exit떄매 쓴건가요?

그리고 질문 2번쨰는 //버퍼의 엔터 읽어서 제거하기

sc.nextLine();

char ans=sc.nextLine().charAt(0);

이거인데요 버퍼의 엔터 읽어서 제거하기가 먼뜻인지 잘모르겟습니다 버파가 출력하는 메모리라는걸로 알고있는데요...그리고 sc.nextLine부터 char ans=sc.nextLine().charAt(0);모르겟네요.. 0번쨰문자가 숫자를 뜻하는건지 이해가안가네요.알려주시면 감사하겠습니다..ㅠㅠㅠ



0
  • 답변 0

  • 로그인을 하시면 답변을 등록할 수 있습니다.