IT 면접 족보23

권단비·2023년 1월 30일
0

IT

목록 보기
49/139

1. 아래 프로그램을 작성하시오.

국어 영어 수학 점수를  scanner 로 입력 받아.
평균과 학점을 출력 하는 프로그램을 짜시오.
단) Grade(국어,영어,수학) 클래스를 만들것.
============================
출력)
총점 : 240
평균 : 80

▼정답

import java.util.Scanner;
class Grade5 {
	int kor, eng, math;
	int sum;
	double avg;
	char grade;

	Grade5(int kor, int eng, int math) {
		this.kor = kor;
		this.eng = eng;
		this.math = math;
	}

	double avg() {
		return (kor + eng + math) / 3.0;
	}

	int sum() {
		return kor + eng + math;
	}

	char grade() {
		grade = '가';
		if (this.avg() >= 90) {
			grade = '수';
		} else if (this.avg() >= 80) {
			grade = '우';
		} else if (this.avg() >= 70) {
			grade = '미';
		} else if (this.avg() >= 60) {
			grade = '양';
		} else {
			grade = '가';
		}
		return grade;
	}
}
public class Test28 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		System.out.print("kor: ");
		int str1 = sc.nextInt();

		System.out.print("eng: ");
		int str2 = sc.nextInt();

		System.out.print("math: ");
		int str3 = sc.nextInt();

		Grade5 a = new Grade5(str1, str2, str3);

		System.out.println("총점: " + a.sum());
		System.out.println("평균: " + a.avg());
		System.out.println("학점은 " + a.grade() + "입니다.");
	}
}

2.String 과 StringBuilder 의 차이는?

▼정답

String str = "123";
값이 추가될 때마다 메모리 생성(불변)

StringBuilder sb = "123";
첫번째 메모리에 값을 그대로 덮어서 입력함(가변)

StringBuilder를 사용하면 메모리를 절약할 수 있다.

3.사용자에게 받은 문자열을 역순으로 화면에 출력하는 프로그램을 작성하시오.

입력:abcde
출력:edcba
▼정답

public class Test29 {
	public static void main(String[] args) {
		StringBuilder stbuf = new StringBuilder("abcde");
		stbuf.reverse(); // 문자열 내용 뒤집기
		System.out.println(stbuf.toString());
	}
}
…………………………………………………………………………………………………………………………………………………………………………
public class Test28 {
	public static void main(String[] args) {
		String eng = "abcde";
		for (int i = eng.length(); i > 0; i--) {
			System.out.print(eng.charAt(i - 1));
		}
	}
}

4.아래의 String 함수를 설명하시오.

▼정답

-length() : 문자열의 길이를 구하는 함수
-substring() : str.substring(2);⇒ index(2) 이후의 내용으로 이뤄진 문자열을 반환
-concat() : 두 문자열을 이어주는 함수
-charAt() :  String 문자열 중, 한 글자만 char 타입으로 바꾸는 함수

5.사용자로부터 받은 문자열(영문으로)에서 자음과 모음 개수를 계산하는 프로그램을 작성하라.

▼정답

6.String.valueOf 에 대하여 설명하시오.

▼정답

기본 자료형(int, boolean, double 등)의 값을 문자열 String 객체로 바꿔주는 함수
ex) String se = String.valueOf(2.11)
    ⇒ double 실수형이 아닌 string 문자열로 나옴(해당 아스키 코드 값에 대한 폰트를 뿌림)

7.아래의 연산과정에서 호출되는 함수(원리)를 써서 표현해 보세요.

String str = "age: " + 17;

▼정답

String str = "age: " + 17;
↓
String str = "age: ".concat(17);
↓
String str = "age: ".concat(String.valueOf(17));

.concat :  두 개의 문자열을 하나의 문자열로 만들어주는 함수
but 연결할 내용의 데이터 타입이 서로 다를 경우 둘 중 하나의 데이터 타입으로 컴파일러에 의해 자동 변형됨.

0개의 댓글