소스코드

 

package superCode;

public class NumberBasic {

	public static void main(String[] args) {
		
//		[문제] 아래 조건을 만족하는 식을 작성하시오.
//			조건1) 1~10까지 반복문을 실행한다.
//			조건2) 1~5까지는 숫자 대신 "안녕"을 출력한다.
//			조건3) 6~10까지는 숫자를 출력한다.

				//조건1) 1~10까지 반복문을 실행한다.
		int i = 1;
		while(i <= 10) {
//				조건2) 1~5까지는 숫자 대신 "안녕"을 출력한다.
			if(i <= 5) {
				System.out.println("안녕");
//				조건3) 6~10까지는 숫자를 출력한다.
			}else {
				System.out.println(i);
			}
			
			i += 1;
			
		}
		
		
	}

}

 

결과

소스코드

package superCode;

import java.util.Random;
import java.util.Scanner;

//	[문제]
//		1. 1 ~ 10 사이의 숫자 중 랜덤으로 한 개의 숫자를 저장한다.
//		2. 랜덤 숫자가 홀수(0)인지 짝수(1)인지 맞추는 게임이다.

public class Randum_Odd_Even {

	public static void main(String[] args) {
		Random ran = new Random();
		Scanner sc = new Scanner(System.in);
		
//		1. 1 ~ 10 사이의 숫자 중 랜덤으로 한 개의 숫자를 저장한다.
		int rNum = ran.nextInt(10) + 1;
		System.out.println("rNum = " + rNum);
		
		
		int answer = 0;
		if(rNum % 2 == 0) {
			answer = 1; // 짝수인 경우 1번 선택
//			System.out.println("짝수");
		}else {
			answer = 0; // 홀수인 경우 0번 선택
//			System.out.println("홀수");
		}
		
		// 결과 값 == 입력 값 비교 
		System.out.print("홀수(0), 짝수(1) 입력 =>");
		int myAnswer = sc.nextInt();
		
		if(answer == myAnswer) {
			System.out.println("정답");
		}else {
			System.out.println("오답");
		}
		
	}

}

 

 

결과

 

소스코드

package superCode;

import java.util.Random;
import java.util.Scanner;

//연산자 기호 맞추기 게임 3 ? 4 = 12
//	[문제]
//		1. 10 ~ 20 사이의 랜덤 숫자 2개를 x, y 변수에 각각 저장한다.
//			예) x = 3, y = 4
//		2. 1 ~ 3 사이의 랜덤 숫자 1개를 op 변수에 저장한다.
//			예) op = 3
//		3. op의 값은 연산자 기호에 해당된다.
//			1. +   2. -   3. *
//			  예) op의 값이 3이면 곱하기이다.
//		4. 화면에 숫자 2개와 답을 출력한다.
//		      단, 기호는 출력하면 안된다.
//		      예) 3 ? 4 = 12
//		      	1. +   2. -   3. *
//		5. 사용자는 기호를 맞추면 된다.
//			예) 3 ==> 정답

public class BrainWars {

	public static void main(String[] args) {
		Random ran = new Random();
		Scanner sc = new Scanner(System.in);
		
		// 1. 10 ~ 20 사이의 랜덤 숫자 2개를 x, y 변수에 각각 저장
		int x = ran.nextInt(11) + 10;
		int y = ran.nextInt(11) + 10;
//		System.out.println("x = " + x);
//		System.out.println("y = " + y);
		
		// 2. 1 ~ 3 숫자 1개 저장
		int op = ran.nextInt(3) + 1;
//		System.out.println("op = " + op);
		
		// 3. x와 y를 op변수에 맞게 계산한 숫자 저장
		//  예) x(3) + y(4) = 7
		int z = 0;
		if(op == 1) {
			z = x + y;
		}else if(op == 2) {
			z = x - y;
		}else if(op == 3) {
			z = x * y;
		}
		
		// 4. 화면 문제 출제
		System.out.println(x + " ? " + y + " = " + z);
		System.out.println("?에 들어갈 연산자는?");
		System.out.println("  [1].+  [2].-  [3].*  ");
		
		// 5. 정답 입력받기
		System.out.println();
		System.out.print("정답 입력 => ");
		
		int myAnswer = sc.nextInt();
		
		// 6. 결과 출력하기
		if(op == myAnswer) {
			System.out.println("정답");
		}else {
			System.out.println("오답");
		}
	}

}

 

 

결과

 

 

소스코드

 

package superCode;

import java.util.Random;
import java.util.Scanner;

//	[문제]
//		1. 150 ~ 250 사이의 랜덤 숫자를 저장한다.
//		2. 랜덤 숫자의 가운데 숫자를 직접 입려하여 맞추는 게임
//			예) 249 => 4

public class Randum_CenterNum {

	public static void main(String[] args) {
		Random ran = new Random();
		Scanner sc = new Scanner(System.in);
		
		// [0 ~ 100] + 150 = 150 ~ 250;  
		int rNum = ran.nextInt(101) + 150;
		System.out.println("rNum = " + rNum);
		
		// 100 나눠서 2자리 수 만들기
		int middle = rNum % 100;
//		System.out.println("middle = " + middle);
		
		// 만든 2자리수 나머지 만들기
		int answer = middle / 10;
		System.out.println("answer = " + answer);
		
		System.out.print(rNum + "의 중간 숫자 입력 : ");
		int myAnswer = sc.nextInt();
		
		if(answer == myAnswer) {
			System.out.println("정답");
		}else {
			System.out.println("오답");
		}
		
	}

}

 

결과

 

 

 

응용

 

package superCode;

import java.util.Random;
import java.util.Scanner;

//	[문제]
//		1. 150 ~ 250 사이의 랜덤 숫자를 저장한다.
//		2. 랜덤 숫자의 가운데 숫자를 직접 입려하여 맞추는 게임
//			예) 249 => 4

public class Randum_CenterNum {

	public static void main(String[] args) {
		Random ran = new Random();
		Scanner sc = new Scanner(System.in);
		
		// [0 ~ 100] + 150 = 150 ~ 250;  
		int rNum = ran.nextInt(101) + 150;
//		System.out.println("rNum = " + rNum);
		
		// 100 나눠서 2자리 수 만들기
		int middle = rNum % 100;
//		System.out.println("middle = " + middle);
		
		// 만든 2자리수 나머지 만들기
		int answer = middle / 10;
//		System.out.println("answer = " + answer);
		
		
		boolean fail = false;
		// 실패시 재입력 
		while(!fail) {
			
		System.out.print("중간 숫자값을 맞춰 보세요 => ");
		int myAnswer = sc.nextInt();
	
		if(answer == myAnswer) {
			
			System.out.println("정답");
			
			fail = true;
		}else {
			System.out.println("오답");
			sc.nextLine();
		}
		
		
		}
	}

}

 

결과

 

정답을 숨기고 정답을 맞출때까지 입력 받기

게임처럼 서로 돌아가면서 입력해서 정답을 맞추는 사람이 승리하는걸로 하면 좋을꺼 같다. 

소스 코드

 

package superCode;

import java.util.Random;

//	[문제]
//		1. 1~50사이의 랜덤 숫자를 저장한다.
//		2. 랜덤 숫자 중에서 3이나 6이나 9의 개수가 2개면, 짝짝을 출력한다.
//		3. 랜덤 숫자 중에서 3이나 6이나 9의 개수가 1개면, 짝을 출력한다.
//		4. 랜덤 숫자 중에서 3이나 6이나 9의 개수가 0이면, 해당 숫자를 출력한다.
//			예)
//				33  => 짝짝
//				16  => 짝
//				7   => 7


public class Randum369 {

	public static void main(String[] args) {
		
//		1. 1~50사이의 랜덤 숫자를 저장한다.
		Random ran = new Random();
		int rNum = ran.nextInt(50); // [0 ~ 49] + 1
		System.out.println("rNum = " + rNum);
		
		// 십의 자리
		int tens = rNum / 10;
		// 일의 자리
		int units = rNum % 10;
		System.out.println("십의 자리 = " + tens);
		System.out.println("일의 자리 = " + units);
		
		int count = 0;
		// 십의 자리 3, 6, 9 개수
		if(tens == 3 || tens == 6 || tens == 9) {
			count = count + 1;
		}
		
		// 일의 자리 3, 6, 9 개수
		if(units == 3 || units == 6 || units == 9) {
			count = count + 1;
		}
		
		if(count == 2) {
			System.out.println("짝짝");
		}
		else if(count == 1) {
			System.out.println("짝");
		}else {
			System.out.println(rNum);
		}
		
	}

}

 

 

결과

 

 

+ Recent posts