IT 면접 족보35

권단비·2023년 2월 16일
0

IT

목록 보기
74/139

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

Scanner를 이용하여 한 라인을 읽고, 
공백으로 분리된 어절이 몇 개인지 출력을 반복하는 
프로그램을 작성하라. “exit”이 입력되면 종료한다.

단)stringTokenizer 활용
try catch 구문 넣으시오.

▼정답

package Override;

import java.util.Scanner;
import java.util.StringTokenizer;

public class TokenTest2 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		boolean run = true;
		String input;

		try {
			while (run) {
				System.out.println("문자를 입력 해 주세요");
				input = sc.nextLine();
				StringTokenizer st1 = new StringTokenizer(input, " ");
				int count = 0;

				while (st1.hasMoreTokens()) { // StringTokenizer에 사용할 수 있는 토큰이 더 있는지 확인
					System.out.println(st1.nextToken() + ' '); // StringTokenizer에서 다음 토큰을 불러오는 메서드
					count++;
				}

				System.out.println("count " + count + "개의 단어 입니다.");

				System.out.println("다시 하시겠습니까(yes/exit)");
				String yOrN = sc.nextLine();
				if (yOrN.equals("yes")) {
					continue;

				} else if (yOrN.equals("exit")) {
					System.out.println("종료합니다.");
					run = false;
				} else {
					System.out.println("error");
					run = false;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

2.아래의 Random 객체의 차이는

Random r1 = new Random();
Random r2 = new Random(10);

▼정답

seed : Random()안에 있는 숫자
seed값을 할당하지 않으면 랜덤으로 값이 출력된다.
Random r2 = new Random(10); ⇒ seed값을 주면 계속 동일한 값을 준다.

3. BigInteger 클래스에 대하여 설명하시오.

▼정답

int형의 범위 : -21억 ~ 21억
BigInteger의 범위 : 무한
⇒문자열 형태로 이루어져 있어 숫자의 범위가 무한하기에 어떠한 숫자든 담을 수 있다.

package Override;

import java.math.BigInteger;

public class BigIntegerTest {
	public static void main(String[] args) {
		// long 형으로 표현 가능한 값의 크기 출력
		System.out.println("최대 정수: " + Long.MAX_VALUE);
		// Long : Wrapper class 이다. 각각의 기본형을 객체로 만들어 놓은 것
		// .MAX_VALUE : class 이름.으로 들어가서 static으로 선언된 변수이다. (함수 아니다)
		// Long 타입의 MAX_VALUE
		System.out.println("최소 정수: " + Long.MIN_VALUE);
		System.out.println();

		// 매우 큰 수를 BigInteger 인스턴스로 표현
		BigInteger big1 = new BigInteger("100000000000000000000");
		BigInteger big2 = new BigInteger("-99999999999999999999");

		// BigInteger 기반 덧셈 연산
		BigInteger r1 = big1.add(big2);
		System.out.println("덧셈 결과: " + r1);

		// BigInteger 기반 곱셈 연산
		BigInteger r2 = big1.multiply(big2);
		System.out.println("곱셈 결과: " + r2);
		System.out.println();

		// 인스턴스에 저장된 값을 int형 정수로 반환
		int num = r1.intValueExact();
		System.out.println("From BigInteger: " + num);
	}
}

0개의 댓글