학원/실습

*9일차 실습

pringspring 2022. 2. 3. 19:23

@별찍기 / 배열

 

[문제 1]

정수를 하나 입력받아 그 수가 양수일때만 입력된 수를 행 수로 적용하여 다음과 같이 출력되게 하는 프로그램을 작성

ex) 정수 입력: 5

1

12

123

1234

12345

package kh.java.nested.loop;

import java.util.Scanner;

public class Test1 {

	public static void main(String[] args) {
		Test1 test = new Test1();
		test.test();
	}

	public void test() {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수 입력 :   ");
		int n = sc.nextInt();
		if (n < 0) {
			System.out.println("양수가 아닙니다.");
			return;
		}
			for (int i = 1; i <= n; i++) {
				for (int j = 1; j <= i; j++) {
					System.out.print(j);
				}

				System.out.println();
			}

		}
}

 

[문제2]

정수를 하나 입력받아 그 수가 양수일때만 입력된 수를 행수로 적용하여 다음과 같이 출력되게 하는 프로그램 작성

ex) 정수 입력: 5

*****

****

***

**

*

 

package kh.java.nested.loop;

import java.util.Scanner;

public class Test2 {

	public static void main(String[] args) {
		Test2 test = new Test2();
		test.test();
	}

	public void test() {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수 입력 :   ");
		int n = sc.nextInt();
		if (n < 0) {
			System.out.println("양수가 아닙니다.");
			return;
		}

		for (int i = n; i >= 1; i--) {
			for (int j = 1; j <= i; j++) {
				System.out.print("*");
			}
			System.out.println();
		}
	}
}

[문제 3]

정수를 하나 입력받아 그 수가 양수일때만 입력된 수를 줄 수로 적용하여 다음과 같이 출력되게 하는 프로그램 작성

ex)정수 입력: 5

*

**

***

****

*****

****

.

.

.

package kh.java.nested.loop;

import java.util.Scanner;

public class Test3 {

	public static void main(String[] args) {
		Test3 test = new Test3();
		test.test();
	}

	public void test() {
		Scanner sc = new Scanner(System.in);
		System.out.print("정수 입력 :   ");
		int n = sc.nextInt();
		if (n < 0) {
			System.out.println("양수가 아닙니다.");
			return;
		}

		for(int i = 0; i <(n*2);i++) {
			if(i<n) {
				for(int j = 0 ;j<=i;j++)
					System.out.print("*");
			System.out.println("  ");
			}
			else {
				for(int j=n;j<=i;j++) {
					System.out.print("  ");
				}
				for(int j=i ; j<(n*2)-1; j++) {
					System.out.print("*");
				}
				System.out.println(" ");
			}
		}

	}

}

 

 

 

 

@2차원배열

[문제 1]

1. 3행 5열 2차원 배열 선언 및 생성

2. 1~100사이의 임의의 정수를 모든 방에 기록

3. 열의 값이 5의 배수인 경우만 값(행,열) 출력

 

public void exercise1() {
		int[][] arr = new int[3][5];

		for (int i = 0; i < 3; i++) {
			for (int j = 0; j < 5; j++) {
				arr[i][j] = (int) (Math.random() * 100) + 1;
			}
		}

			for (int i=0; i<3;i++) {
				for (int j = 0; j < 5; j++) {
					if (arr[i][j] % 5 == 0) {
						System.out.printf("%d 행 %d열 값 = %d%n", i, j, arr[i][j]);
					}
				}
			}
			System.out.println();
		}

 

[문제 2]

1. 3행 4열 2차원 배열 선언 및 생성

2. 0행 0열부터 2행 2열까지 1~100사이의 임의의 수 값 기록

3. 각 행렬 값 , 합계 출력 

 

public void exercise2() {
		int[][] arr =new int[3][4];
		int sum[] = new int[3];
		System.out.println("   \t0열\t1열\t2열\t3열");
		for(int i =0;i<3;i++) {
			System.out.print(i+"행\t");
			for(int j=0;j<4;j++) {
				arr[i][j] = (int)(Math.random() * 100);
				sum[i] += arr[i][j];
				System.out.printf("%d\t",arr[i][j]);
				}
			System.out.print("총합: ");
			System.out.println(sum[i]);
			}
		}