코딩 연습장/JAVA

자바 3장 연습문제(반복문)-3

Do아 2021. 3. 18. 10:02
728x90

2021/03/10(수)

3-9)4X4의 2차원 배열을 만들고 이곳에 1에서 10까지 범위의 정수를 랜덤하게 생성하여 정수16개를 배열에 지정하고, 2차원 배열을 화면에 출력하라.

6 10 1 8

1 3 7 2

8 4 5 1

1 8 4 4

3-10)4X4의 2차원 배열을 만들고 이곳에 1에서 10까지 범위의 정수를 10개만 랜덤하게 생성하여 임의의 위치에 삽입하라. 동일한 정수가 있어도 상관없다. 나머지 6개의 숫자는 모두 0이다. 만들어진 2차원 배열을 화면에 출력하라.

5 0 8 6

0 7 9 5

2 4 0 8

0 0 0 8

3-13) 반복문을 이용하여 369게임에서 박수를 쳐야 하는 경우를 순서대로 화면에 출력해보자. 1부터 시작하며 99까지만 한다. 실행 사례는 다음과 같다.

3 박수 짝

6 박수 짝

9 박수 짝

13 박수 짝

16 박수짝

19 박수짝

23 박수짝

26 박수짝

....

3-14) 다음 코드와 같이 과목 점수가 짝을 이루도록 2개의 배열을 작성하라.

String course [] = {"Java", "C++","HTML5", "컴퓨터구조","안드로이드"};
		int score [] = {95, 88, 76,62,55};

그리고 다음 예시와 같이 과목 이름을 입력받아 점수를 출력하는 프로그램을 작성하라. "그만"을 입력받으면 종료한다.

과목이름 >> Jaba

없는 과목입니다.

과목이름>>Java

Java의 점수는 95

과목이름 >> 안드로이드

안드로이드의 점수는 55

과목 이름 >> 그만

내 풀이

3-9)

public class Sw03_9 {
	public static void main(String[] args) {
		int[][] array = new int[4][4];
		
		for(int i=0; i<array.length; i++) {
			for(int j=0; j<array[i].length; j++)
			{
				array[i][j] = (int)(Math.random()*10+1);
				System.out.print(array[i][j] + "  ");
			}
			System.out.println();
		}
	}
}

3-10)

public class Sw03_10 {
	public static void main(String[] args) {
		
		int[][] array = new int[4][4];
		
		//배열에 랜덤 숫자 부여
		for(int i=0; i<array.length; i++) {
			for(int j=0; j<array[i].length; j++)
			{
				array[i][j] = (int)(Math.random()*10+1);
			}
		}
		
		//랜덤한 배열의 순서를 뽑아서 6개를 0으로 입력
		for(int i=0; i<6; i++) {
			int randomR = (int)(Math.random()*4);
			int randomC = (int)(Math.random()*4);
			if(array[randomR][randomC]==0)
				i--;
			else
				array[randomR][randomC] = 0;
		}
		
		//배열 출력
		for(int i=0; i<array.length; i++) {
			for(int j=0; j<array[i].length; j++)
			{
				System.out.print(array[i][j] + "  ");
			}
			System.out.println();
		}
	}
}

3-13)

public class Sw03_13 {
	public static void main(String[] args) {
		
		for(int i=1; i<100; i++) {
			if(i%10==3 || i%10==6 || i%10==9) {
				if(i/10==3 || i/10==6 || i/10==9)
					System.out.print(i+" 박수짝짝");
				else
					System.out.print(i+" 박수짝");
			}
			else {
				if(i/10==3 || i/10==6 || i/10==9)
					System.out.print(i+" 박수짝");
				else
					continue;
			}
			System.out.println();
		}
	}

}

 

3-14)

import java.util.Scanner;

public class Sw03_14 {
	public static void main(String[] args) {
		Scanner scan = new Scanner(System.in);
		String course [] = {"Java", "C++","HTML5", "컴퓨터구조","안드로이드"};
		int score [] = {95, 88, 76,62,55};
		String subject = null;
	
		//반복문을 돌려 과목을 입력
		do {

			System.out.print("과목 이름>>");
			subject = scan.next();
			
			//배열내에 같은 과목이 있는지 검사
			for(int i =0; i<course.length; i++) {
				
				if(subject.equals("그만")) {		//그만이라는 값을 받으면 종료
					System.exit(0);
				}
				else if(course[i].equals(subject)) {	//같은과목 발견
					System.out.println(course[i] +"의 점수는 " + score[i]);
					break;
				}
				else if(i==course.length-1)		//배열을 끝까지 비교했을 때 같은 과목이없는 경우
					System.out.println("없는 과목입니다.");
			}
		}while(true);
	}
}
728x90