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
반응형
'코딩수업 > AWS 클라우드환경 네이티브' 카테고리의 다른 글
7/26 자바(Java) 반복문 연습 문제 (2) | 2022.07.26 |
---|---|
7/25 자바(Java) 반복문 연습 문제 (2) | 2022.07.25 |
7/21 자바(Java) break과 continue, 반복문 연습 문제 (0) | 2022.07.21 |
7/20 자바(Java) Math.random() 활용, 반복문(for, while, do...while) (0) | 2022.07.20 |
7/19 자바(Java) 문자 연산, 연산자, 조건문, Math.random() (4) | 2022.07.19 |
댓글