본문 바로가기
STUDY/Java

[Java] 명품 JAVA 프로그래밍 제3장 반복문과 배열 그리고 예외 처리 : 실습문제

by devohda 2020. 8. 29.

 

 

 

1번

 

(1) 0~99 사이 홀수들의 합, 2450

 

(2) 소스 코드

 

import java.util.Scanner;

public class WhileTest {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		int sum = 0, i = 0;
		while (i < 100) {
			sum = sum + i;
			i += 2;
		}
		System.out.println(sum);

		scanner.close();
	}

}

 

(3) 소스 코드

 

import java.util.Scanner;

public class ForTest {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		int sum = 0;
		for (int i = 0; i < 100; i+=2) {
			sum += i;
		}
		System.out.println(sum);
		
		scanner.close();
	}

}

 

(4) 소스 코드

 

import java.util.Scanner;

public class DoWhileTest {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		int sum = 0, i = 0;
		do {
			sum = sum + i;
			i += 2;
		}while (i < 100)
		System.out.println(sum);

		scanner.close();
	}

}

 

 

 

 

2번

 

소스 코드

 

public class PrintArray {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		int n [][] = {{1},{1,2,3},{1},{1,2,3,4},{1,2}};
		for (int i = 0; i < n.length; i++) {
			for (int j = 0; j < n[i].length; j++) {
				System.out.print(n[i][j]+" ");
			}
			System.out.println();
		}
	}

}

 

 

 

 

3번

 

소스 코드

 

import java.util.Scanner;

public class MakeTriangle {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		System.out.print("정수를 입력하시오>>");
		int num = scanner.nextInt();

		// 한 줄 내려갈 때마다 별이 한 개씩 줄어야 하므로
		// 몇 번째 줄인지를 이용하여 수식을 만듦. (i+j < num)
		for (int i = 0; i < num; i++) {
			for (int j = 0; i + j < num; j++) {
				System.out.print("*");
			}
			System.out.println();
		}

		scanner.close();
	}

}

 

 

 

 

4번

 

소스 코드

 

import java.util.Scanner;

public class PrintLowerCase {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		System.out.print("소문자 알파벳 하나를 입력하시오>>");
		char lowerCase = scanner.next().charAt(0);
		
		//char 형도 아스키코드를 통해 int 로 변환이 가능한 것을 이용.
		// '소문자' - 'a' = 어떤 숫자 (ex. 'a' - 'a' == 0, 'b' - 'a' == 1)
		for (int i = 0; i < lowerCase - 'a' + 1 ; i++) {
			for (int j = 0; i + j < lowerCase - 'a' + 1; j++) {
				char a = (char)('a' + j);
				System.out.print(a);
			}
			System.out.println();
		}

		scanner.close();
	}

}.

 

 

 

 

5번

 

소스 코드

 

import java.util.Scanner;

public class FindMultiple {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		System.out.print("양의 정수 10개를 입력하시오>>");
		int [] num = new int [10];
		for (int i = 0; i < num.length; i++) {
			num[i] = scanner.nextInt();
		}
		
		System.out.print("3의 배수는");
		for (int i = 0; i < num.length; i++) {
			if (num[i] % 3 == 0) {
				System.out.print(num[i]+" ");
			}
		}

		scanner.close();
	}

}

 

 

 

 

6번

 

소스 코드

 

import java.util.Scanner;

public class ChangeMoney {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		int[] unit = { 50000, 10000, 1000, 500, 100, 50, 10, 1 };

		System.out.print("금액을 입력하시오>>");
		int money = scanner.nextInt();

		for (int i : unit) {
			if(money/i == 0) continue; //0개는 출력 제외
			System.out.println(i + "원 짜리 : " + money / i + "개");
			money %= i;
		}
		scanner.close();
	}

}

 

 

 

 

7번

 

소스 코드

 

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

public class Average {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		Random random = new Random();

		int[] num = new int[10];
		for (int i = 0; i < num.length; i++) {
			num[i] = random.nextInt(10) + 1;
		}

		double avg = 0;
		for (int i = 0; i < num.length; i++) {
			avg += num[i];
		}

		System.out.print("랜덤한 정수들 : ");
		for (int i = 0; i < num.length; i++) {
			System.out.print(num[i] + " ");
		}
		System.out.println();
		System.out.println("평균은 " + avg / 10);

		scanner.close();
	}

}

 

 

 

 

8번

 

소스 코드

 

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

public class RandomIntArray{

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);
		Random random = new Random();
		
		System.out.print("정수 몇개?");
		int count = scanner.nextInt();
		int []num = new int [count];
		
		for (int i = 0; i < num.length; i++) {
			int randomNum;
			while (true) {
				randomNum = random.nextInt(100)+1;//1~100 범위의 정수 랜덤 입력
				int flag = 0; //중복인지 검사
				for (int j = 0; j < i; j++) {
					if (num[j] == randomNum) {
						flag = 1; //중복이면 1로 바뀜
						break;
					}
				}
				if (flag == 0) { //중복이 아닐 때에만 탈출
					break;
				}
			}
			num[i] = randomNum;
		}
		
		for (int i = 0; i < num.length; i++) {
			System.out.print(num[i]+" ");
			if ((i+1) % 10 == 0) { //숫자 10개씩 한 줄에 출력
				System.out.println();
			}
		}
		scanner.close();
	}

}

 

 

 

 

9번

 

소스 코드

 

import java.util.Scanner;

public class TwoDimension {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		int[][] num = new int[4][4];
		for (int i = 0; i < num.length; i++) {
			for (int j = 0; j < num[i].length; j++) {
				num[i][j] = (int) (Math.random() * 10 + 1);
			}
		}

		for (int i = 0; i < num.length; i++) {
			for (int j = 0; j < num[i].length; j++) {
				System.out.print(num[i][j] + "\t");
			}
			System.out.println();
		}

		scanner.close();
	}

}

 

 

 

 

10번

 

소스 코드

 

import java.util.Scanner;

public class RandomTwoDimension {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		int[][] num = new int[4][4];
		for (int i = 0; i < num.length; i++) {
			for (int j = 0; j < num[i].length; j++) {
				num[i][j] = (int) (Math.random() * 10 + 1);
			}
		}

		int randomRow, randomCol;
		for (int i = 0; i < 6; i++) {
			while (true) {
				randomRow = (int) (Math.random() * 4); // 0~3 랜덤 수
				randomCol = (int) (Math.random() * 4);
				
				if (num[randomRow][randomCol] != 0) {
					num[randomRow][randomCol] = 0;
					break;
				}
			}
		}

		for (int i = 0; i < num.length; i++) {
			for (int j = 0; j < num[i].length; j++) {
				System.out.print(num[i][j] + "\t");
			}
			System.out.println();
		}

		scanner.close();
	}

}

 

 

 

 

11번

 

소스 코드

 

public class Average {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		int sum = 0;
		for (int i = 0; i < args.length; i++) {
			sum += Integer.parseInt(args[i]);
		}
		System.out.println(sum/args.length);

	}

}

 

 

 

 

12번

 

소스 코드

 

public class Add {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		int sum = 0;
		for (int i = 0; i < args.length; i++) {
			try {
				sum += Integer.parseInt(args[i]);
			}catch(NumberFormatException e){
				continue;
			}
		}
		System.out.println(sum);

	}

}

 

 

 

 

13번

 

소스 코드

 

public class Game369 {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		for (int i = 1; i < 100; i++) {
			int tenDigit = i / 10;
			int oneDigit = i % 10;
			if (tenDigit == 3 || tenDigit == 6 || tenDigit == 9) {
				if (oneDigit == 3 || oneDigit == 6 || oneDigit == 9) {
					System.out.println(i + " 박수 짝짝");
				} else {
					System.out.println(i + " 박수 짝");
				}
			} else if (oneDigit == 3 || oneDigit == 6 || oneDigit == 9) {
				System.out.println(i + " 박수 짝");
			}
		}

	}

}

 

 

 

 

14번

 

소스 코드

 

import java.util.Scanner;

public class SearchScore {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);
		
		String []course = {"Java", "C++", "HTML5", "컴퓨터구조", "안드로이드"};
		int [] score = {95, 88, 76, 62, 55};
		
		while(true) {
			System.out.print("과목 이름>>");
			String search = scanner.next();
			if (search.equals("그만")) {
				break;
			}
			
			int flag = 0;
			for (int i = 0; i < score.length; i++) {
				if (course[i].equals(search)) {
					System.out.println(course[i]+"의 점수는 "+score[i]);
					flag = 1;
				}
			}
			if (flag == 0) {
				System.out.println("없는 과목입니다.");
			}
		}
		
		scanner.close();
	}

}

 

 

 

 

15번

 

소스 코드

 

import java.util.Scanner;
import java.util.InputMismatchException;

public class Multiply {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		int n, m;

		while (true) {
			try {
				System.out.print("곱하고자 하는 두 수 입력>>");
				n = scanner.nextInt();
				m = scanner.nextInt();
				System.out.println(n + "x" + m + "=" + n * m);
				break;
			} catch (InputMismatchException e) {
				System.out.println("실수는 입력하면 안됩니다.");
				scanner.nextLine();
			}
		}

		scanner.close();
	}

}

 

 

 

 

16번

 

소스 코드

 

import java.util.Scanner;
import java.util.InputMismatchException;

public class RockScissorsPaper {

	public static void main(String[] args) {

		// TODO Auto-generated method stub
		Scanner scanner = new Scanner(System.in);

		String[] str = { "가위", "바위", "보" };

		System.out.println("컴퓨터와 가위 바위 보 게임을 합니다.");
		while (true) {

			System.out.print("가위 바위 보!>>");
			String user = scanner.next();

			int n = (int) (Math.random() * 3); // 컴퓨터의 가위, 바위, 보 중 하나 결정
			String computer = str[n];

			if (user.equals("그만")) {
				System.out.println("게임을 종료합니다...");
				break;
			}

			System.out.print("사용자 = " + user + " , 컴퓨터 = " + computer + ", ");
			if (user.equals(computer)) {
				System.out.println("비겼습니다.");
			} else if (user.equals("가위")) {
				if (n == 1) {
					System.out.println("컴퓨터가 이겼습니다.");
				} else if (n == 2) {
					System.out.println("사용자가 이겼습니다.");
				}
			} else if (user.equals("바위")) {
				if (n == 0) {
					System.out.println("사용자가 이겼습니다.");
				} else if (n == 2) {
					System.out.println("컴퓨터가 이겼습니다.");
				}
			} else if (user.equals("보")) {
				if (n == 0) {
					System.out.println("컴퓨터가 이겼습니다.");
				} else if (n == 1) {
					System.out.println("사용자가 이겼습니다.");
				}
			}
		}

		scanner.close();
	}

}

 

 

댓글