본문 바로가기
코딩수업/AWS 클라우드환경 네이티브

7/22 자바(Java) 반복문 연습 문제 진행, Scanner 클래스

by 인생즐겜러 2022. 7. 22.
728x90
반응형

AWS 클라우드환경 네이티브 수업 49일차

 

 

 

진행

1. 오늘도 연습 문제

 

 

 

 

 

요약

1. Scanner 클래스

 

 

 

 

 


 

 

 

 

 

문제9. UP/Down 게임 만들기

조건

- 1~100 사이의 숫자 중에 컴퓨터가 랜덤하게 고른 숫자 맞추기 게임을 만들어라.

- 코인을 넣는 갯수에 따라 게임을 할 수 있다.

- 맨 처음 0,1의 입력에 따라 게임 시작 종료를 할 수 있다. 다른 숫자면 다시 입력하게 해라.

- 정답을 3번 이내에 맞추면 다른 멘트가 나오게 해라.

 

문제10. 1~100까지의 각 정수들의 약수를 모두 구하라.

 

 

 

 

 


 

 

 

 

 

문제9 답.

package LectureExam;

import java.util.Scanner;
// 사용자의 입력값을 받기 위해 클래스를 받아온다.

public class UpDownGame {

	public static void main(String[] args) {

		int answer = 0;
		int input = 0 ;
		int count = 0 ;
		int coin = 1;
		
		// 화면으로부터 사용자가 입력한 값을 받기 위해서 Scanner 클래스를 사용한다.
		java.util.Scanner s = new java.util.Scanner (System.in);
		
		
		
		do {
			
			answer = (int)(Math.random()*100);
        	 	   // 새로운 판마다 숫자 리셋
			
			if(coin >= 3) {		// 넣은 코인의 갯수 현재 3-1개. 현재 2판 가능함
				break;
			} else {
				System.out.println("0 : 종료, 1 : 시작");
				System.out.print("원하시는 값을 입력해주세요. : ");
				input = s.nextInt();		// 받은 입력값을 변수에 넣음!

			}
			
			
			if(input == 1) {
				for(  count = 1 ; true ; count++) {

					System.out.print("1과 100사이의 정수를 입력하십시오. : ");
					input = s.nextInt();
					System.out.println("내가 입력한 수는 " + input + " 입니다.");
					
					
					if(answer > input) {
						System.out.println("틀렸지비! 더 커야 한다눈!");
						continue;
					} else if(answer < input) {
						System.out.println("틀렸지비! 더 작아야 한다눈!");
						continue;
					} else {
						if( count < 4) {
						// 3번 이내에 맞추면 천재 소리 해줌.
                  			          System.out.println("미친 천재여? 당신은 " + count + "번만에 맞췄다눈~ " );
							coin++;		
							break;							
						} else {
                       			 	// 4번 이상 해서 맞추면 그냥 정답해줌.
							System.out.println("노력했네 ㅋㅋㅋ 당신은 " + count + "번만에 맞췄다눈~ " );										
							coin++;		
							break;
						}
					}						
				}	
			} else if(input==0){
				System.out.println("게임이 종료되었습니다.");
				break;
			} else {
				System.out.println("값을 잘못 입력했습니다. 다시 입력해주세요.");
				continue;
			}		
			
		} while(true);	
	}
}




결과
0 : 종료, 1 : 시작
원하시는 값을 입력해주세요. : 4
값을 잘못 입력했습니다. 다시 입력해주세요.
0 : 종료, 1 : 시작
원하시는 값을 입력해주세요. : 1
1과 100사이의 정수를 입력하십시오. : 50
내가 입력한 수는 50 입니다.
틀렸지비! 더 커야 한다눈!
1과 100사이의 정수를 입력하십시오. : 65
내가 입력한 수는 65 입니다.
틀렸지비! 더 작아야 한다눈!
1과 100사이의 정수를 입력하십시오. : 58
내가 입력한 수는 58 입니다.
틀렸지비! 더 작아야 한다눈!
1과 100사이의 정수를 입력하십시오. : 57
내가 입력한 수는 57 입니다.
노력했네 ㅋㅋㅋ 당신은 4번만에 맞췄다눈~
0 : 종료, 1 : 시작
원하시는 값을 입력해주세요. :

 

Scanner에 대한 설명은 이 페이지 맨 아래에 설명을 적어놨다.

 

 

 

 

 

문제10 답.

package LectureExam;

public class exercise2 {

	public static void main(String[] args) {
		int num ;
		int div ;
		
		
		for(num = 1 ; num <101 ; num++) {

			System.out.print( num + " 의 약수 : ");

			for(div = 1 ; div <=num ; div ++) {	
				
				if(num == div) {
					System.out.println( div );
				} else if (num%div == 0){
					System.out.print( div );
					System.out.print(", ");
				} else {
					continue;
				}
			}
							
		}
	}
}



결과
1 의 약수 : 1
2 의 약수 : 1, 2

...

99 의 약수 : 1, 3, 9, 11, 33, 99
100 의 약수 : 1, 2, 4, 5, 10, 20, 25, 50, 100

 

 

 

 

 


 

 

 

 

 

※ 참고 - Scanner 클래스

 

기본적인 자료형들을 Scanner 의 메소드를 사용하여 입력 받을 수 있다.

또한, import 을 통해 호출이 반드시 필요하다. ( Scanner 의 경우는 java.util 패키지안에 있다. )

대부분 공백과 개행(' ', '\t', '\r', '\n' 등등..)을 기준으로 읽는다

 

 

 

사용법

1. import 로 해당 클래스 경로를 호출한다.

 

import java.util.Scanner;

 

 

 

2. Scanner 객체를 생성한다.

 

Scanner 객체_이름 = new Scanner(System.in);

 

 

 

3. 메소드로 입력값을 변수에 넣는다.

 

객체_이름.nextByte()		// byte 형 입력 및 리턴
객체_이름.nextShort()		// short 형 입력 및 리턴
객체_이름.nextInt()		// int 형 입력 및 리턴
객체_이름.nextLong()		// long 형 입력 및 리턴
 
객체_이름.nextFloat()		// float 형 입력 및 리턴
객체_이름.nextDouble()		// double 형 입력 및 리턴
 
객체_이름.nextBoolean()	// boolean 형 입력 및 리턴
 
객체_이름.next()		// String 형 입력 및 리턴	(공백을 기준으로 한 단어를 읽음)
객체_이름.nextLine()		// String 형 입력 및 리턴 (개행을 기준으로 한 줄을 읽음)



예
int 변수이름 = 객체_이름.nextInt();

 

728x90
반응형

댓글