정리노트

[자바/java] 대문자, 소문자 변환 / String 을 char로 본문

프로그래밍/Java

[자바/java] 대문자, 소문자 변환 / String 을 char로

Rolen 2022. 8. 8. 00:26

Q)
정수를 입력받고 소수인지 확인하기
+ (여러코드 사용연습을 위한 추가) 반복하기 위한 값 받기, 범위 밖의 값일 경우 다시 입력받기.

ch = ch.toUpperCase(); // 대문자로 변환(String만 가능)
ch = ch.toLowerCase(); // 소문자로 변환(String만 가능)

Scanner는 문자열(String)이 아닌 문자(Char)로 입력받는 것이 없다.

입력받은 값과 지정해놓은 char 리스트의 값과 비교하기 위하여
char sel = ch.charAt(0); // ch의 문자열 0번째 문자를 꺼내어 char타입의 sel 변수에 초기화.
사용.

// char 변수 = sc.next().charAt(0);
처럼 입력받는 즉시 다른 변수에 초기화 가능하다.
대문자. 소문자 변환(문자열만 가능)을 위하여 아래의 코드에서는 사용하지 않음.

package velog_quiz;

import java.util.Scanner;

public class velog_quiz8 {
	public static void prime()
	{
		Scanner sc = new Scanner(System.in);
		System.out.print("정수를 입력하세요 : ");
		int num = sc.nextInt();
		int i = 2;
		int div = 0;
		while (i < num)
		{
			div = num % i;
			if (div == 0)
			{
				System.out.println("소수가 아닙니다.");
				break;
			}
			i++;
		}
		if (div != 0)
		{
			System.out.println("소수입니다.");
		}
		if (num == 1 || num == 2)
		{
			System.out.println("소수입니다.");
		}
	}
	
	public static void re()
	{
		Scanner sc = new Scanner(System.in);
		char selList[] = {'Y', 'N'};
		System.out.print("계속 하시겠습니까?(Y/N) : ");
		String ch = sc.next();
		ch = ch.toUpperCase(); // 대문자로 변환(String만 가능)
        
		char sel = ch.charAt(0); // 0번째 문자를 꺼내어 sel 변수에 삽입 / 비교를 위함.
        						// 대/소문자 변환 함수가 '문자열'만 가능하기 때문에 바꾼뒤 진행

		// ch = ch.toLowerCase(); // 소문자로 변환(String만 가능)
		
		boolean temp = true;
		for (int i = 0; i < selList.length; i++)
		{
			if (sel != selList[i])
			{
				temp = false;
			}
			else
			{
				temp = true;
				break;
			}
		}
		if (temp == false)
		{
			System.out.println("Y/N 으로 선택해주세요");
			re();
		}
		if (temp == true)
		{
			if (sel == 'Y')
			{
				prime();
			}
			else
			{
				System.out.println("종료합니다.");
			}
		}
	}
	
	
	public static void main(String[] args) {

		prime();
		re();
	}

}

 

728x90