반응형

영어는 1바이트 한글은 2바이트 이기 때문에 한글 한 문자를 치면 "문자가 아닙니다. 한 글자만 입력하세요" 라는 문장이 나오게 된다.

위에 uppercase 는 대문자로 lowercase는 소문자로 바꿔주는 것이고 , At는 한 문자씩 나타내게 해주는 것이고,

조건문 안에 있는 length은 문자의 길이를 나타내는 것이다.

equals ==와 다른데 equals는 문자 자체를 비교하는 것이고, ==는 주소를 비교하는 것이다

 

1. 자음과 모음 판별 프로그램

package chap03;
import java.util.Scanner; // 입력 

public class plus {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		System.out.print("알파벳을 입력하세요: ");
		String input = s.next().toLowerCase();
		boolean uppercase = input.charAt(0) >= 65 && input.charAt(0) <=90;
		//At 는 한글자, uppercase는 대문자 
		boolean lowercase = input.charAt(0) >= 97 && input.charAt(0) <=122;
		// lowercase는 소문자 
		boolean vowels = input.equals("a") || input.equals("e") || input.equals("i") || input.equals("e")||input.equals("o");
		//equals는 문자 그자체를 비교 ==는 주소를 비교 
		if(input.length()>1) { //문자 길이 
			System.out.println("문자가 아닙니다. 한 글자만 입력하세요");
		}
		else if(!(uppercase || lowercase)) {
			System.out.println("알파벳(a~z, A~Z)이 아닙니다.");
		}
		else if(vowels) {
			System.out.println(input +"은(는)모음입니다.");
		}
		else {
			System.out.println(input +"은(는)자음입니다.");
		}
		s.close();
	}
}

2. 알파벳 순서대로 출력하는 프로그램

import java.util.Arrays;
import java.util.Scanner;
public class Hello{
public static void main(String[] args) {
	final int size = 26;
	char[] codes = new char[size]; // 배열선언 
	int a_char = (int) 'a';
	
	for(int i=0; i<size; i++) {
		codes[i] = (char)(a_char + i); 
		}
	
	for(int i=0; i<size; i++) {
		System.out.printf("%c ", codes[i]);
	}
	System.out.println();
	}
}

 

 

반응형

'JAVA > 2020 프로그램' 카테고리의 다른 글

[JAVA] 가위바위보 게임  (0) 2019.12.08
[JAVA] 별찍기  (0) 2019.12.08
[JAVA] 소수점 두자리까지 같은 지 확인  (0) 2019.12.07
[JAVA] 윤년계산하기  (0) 2019.12.07
양수 판단 코드  (0) 2019.12.07
반응형

우선 윤년의 조건이다.

1. 4로 나누었을 때 나머지가 0인 년도

2. 4로 나누어 떨어졌을때 나머지가 0이라도 100으로 나누었을 때도 나머지가 0이면 평년 

3. 4로 나누어 떨어졌을 때 나머지가 0이고 100으로 나누었을때도 나머지가 0이지만 , 400으로 나누어 떨어지면 윤년

package chap03;
import java.util.Scanner; // 입력 

public class plus {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		int num;
		while(true) {
		System.out.printf("년도를 입력하세요 : ");
		num = s.nextInt();
		if(num%4==0) {
			System.out.println(num + "년은 윤년입니다.");
		}
		else if((num%4 == 0 & num%100 == 0) & num%400 == 0) {
			System.out.println(num + "년은 윤년입니다.");
		}
		else if(num%4==0 & num%100 == 0) {
			System.out.println(num + "년은 윤년이 아닙니다.");
		}
		else {
			System.out.println(num + "년은 윤년이 아닙니다.");
		}
	
		} 	 
	}
}

 위에는 if-else if문을 이용하여 짠 코드이다. 다소 복잡해보이고 조금 번거롭기 때문에

package chap03;
import java.util.Scanner; // 입력 

public class plus {

	public static void main(String[] args) {
		Scanner s = new Scanner(System.in);
		System.out.print("년도를 입력하세요: ");
		int num = s.nextInt();
		boolean x = (num % 4) == 0;
		boolean y = (num % 100) != 0;
		boolean z = ((num %100 == 0) && (num % 400 == 0)); 
		if(x && (y||z)) {
			System.out.println(num + "년은 윤년 입니다.");
		}
		else {
			System.out.println(num + "년은 윤년이 아닙니다.");
		}
		s.close();
	}
}

 위에 코드 처럼 조건문을 부울변수에 넣고 다시 if-else문을 사용하여 더욱 간결하게 풀어내었다.

반응형

'JAVA > 2020 프로그램' 카테고리의 다른 글

[JAVA] 가위바위보 게임  (0) 2019.12.08
[JAVA] 별찍기  (0) 2019.12.08
[JAVA] 알파벳 프로그램  (0) 2019.12.07
[JAVA] 소수점 두자리까지 같은 지 확인  (0) 2019.12.07
양수 판단 코드  (0) 2019.12.07

+ Recent posts