자바 프로그래밍 11번째 수업

김형우·2022년 11월 7일
0

Java

목록 보기
11/22
post-thumbnail

1.this 와 this 생성자에 대하여 설명하시오.

this : 객체 자기 자신을 뜻하는 것

this 생성자 : 상위 클래스의 생성자를 참조하는것 

this (변수명) 또는 this.변수명등으로 부모클래스의 변수명에 접근할 수 있다.

2.아래를 프로그래밍 하시오.

"Hello.java" 문자열에서 파일명과 확장자인 java를 분리시키는 프로그램을 짜시오.

입력: Hello.java
출력: 파일이름은:Hello 이며 확장자는 java 입니다.


String word = "Hello.java";
		
		int index = word.indexOf(".");
		
		System.out.println(index);
		
		String left = word.substring(0, index);
		String right = word.substring(index, 10);
		
		System.out.println("파일 이름은"+left+"이며, 확장자는"+right+"입니다.");

3.상속을 UML로 표기해 보세요.

4.부모클래스와 자식클래스의 다른 용어들은?

부모 클래스 : 상위 클래스 / 슈퍼 클래스

자식 클래스 : 하위 클래스 / 서브 클래스

5. 2차원 배열의 디폴트 초기화 방법은?


	int arr[2][3] = { {1,2,3}, {2,3,4} } ;
    
    등으로 해준다

6. enhenced for 문에 대하여 설명하시오.


	for( 자료형 변수 : 반복시킬 배열 )
    
    반복시킬 배열을 전부다 털어놓을때 사용한다

7. 아래의 프로그램을 짜시오. (필수)

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


public static void main (String[] args) {

		int[][] arr1 = new int[4][4];
		
		for(int i=0; i<arr1.length; i++) {
			for(int j=0; j<arr1[i].length; j++) {
				arr1[i][j] = (int)(Math.random()*10)+1;
			}
		}
		
		for(int i=0; i<arr1.length; i++) {
			for(int j=0; j<arr1[i].length; j++) {
				System.out.print(arr1[i][j]+ " ");
			}
			System.out.println();
		}
	}



8.아래를 메모리 구조로 표현 하시오.

int[][] arr = new int[3][4]

9. 2차원 배열의 행과 열의 크기를 사용자에게 직접 입력받되, 1~10사이 숫자가 아니면

“반드시 1~10 사이의 정수를 입력해야 합니다.” 출력 후 다시 정수를 받게 하세요.
크기가 정해진 이차원 배열 안에는 영어 대문자가 랜덤으로 들어가게 한 뒤 출력하세요.
(char형은 숫자를 더해서 문자를 표현할 수 있고 65는 A를 나타냄, 알파벳은 총 26글자)

실행화면

행 크기 : 5
열 크기 : 4
T P M B
U I H S
Q M B H
H B I X
G F X I

소스코드


package gwajeyong;
import java.util.Scanner;

public class RandomArray2 {

	public static void main(String[] args) {
		
		Scanner s1 = new Scanner(System.in);
		Scanner s2 = new Scanner(System.in);
		
		System.out.println("행의 개수입니다. 반드시 1~10 중의 정수중 하나를 입력하세요.");
		int row = s1.nextInt();
		
		if(row >= 10 || row<0) {
			System.out.println("잘못된 행수의 입력입니다.");
		}
		
		System.out.println("열의 개수입니다. 반드시 1~10 중의 정수중 하나를 입력하세요.");
		int col = s2.nextInt();
		
		if(col >= 10 || col<0) {
			System.out.println("잘못된 열수의 입력입니다.");
		}
		
		int[][] arr = new int[row][col];
		
		for(int i=0; i<arr.length; i++) {
			for(int j=0; j<arr[row-1].length; j++) {
				arr[i][j] = (int)(Math.random()*26)+65;
			}
		}
		
		for(int k=0; k<arr.length; k++) {
			for(int l=0; l<arr[row-1].length; l++) {
				System.out.print((char)arr[k][l] +" ");
			}
			System.out.println();
		}
		
	}
}
profile
개발자 지망생

0개의 댓글