Dev.J
[JAVA] 문제 1-2 대소문자 변환 본문
키보드에서 영문자 한자를 입력받아 소문자는 대문자로 , 대문자는 소문자로 변환하여 출력하는 프로그램.
next() 와 charAt(int)메소드를 이용
대문자 -> 소문자
소문자 -> 대문자
입력된 문자가 영문자가 아니면 "영문자가 아닙니다" 를 출력한다
0 이 입력되면 프로그램을 종료
---
(i의 잘못된 사용, 메서드 사용시 범위 설정 오류 등으로 실행되지않음)
import java.util.*;
import java.lang.*;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i;
int i2;
String a2;
String out = "";
boolean start = true;
System.out.println("문자를 입력하세요 : \n");
while(start){
a2 = sc.next();
i = sc.nextInt();
i2 = a2.charAt(0);
if(i != 0){
if(i2 > 90){
out = a2.toUpperCase();
}
else if(i2 < 97){
out = a2.toLowerCase();
}
}
else{
start = false;
}
System.out.println(out);
}
}
}

------------
0717 수정 후 정상 작동
import java.util.Scanner;
public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int i; //i는 사용하지않음
int i2;
String a2;
String out = "";
boolean start = true;
while(start){
System.out.print("문자를 입력하세요 : ");
a2 = sc.next();
//i = sc.nextInt();
i2 = a2.charAt(0);
if (i2 <= 122 && i2 >= 97) {
out = a2.toUpperCase();
}
else if (i2 >= 65 && i2 <= 90) {
out = a2.toLowerCase();
}
else if(i2 == 48) {
start = false;
}
else
//i2 == 0 -> i2 == 48으로 수정. 이전에는 아스키코드로 숫자 0은 48이기 때문에 오류 발생.
System.out.println("영문자가 아닙니다.\n"+a2);
System.out.println(out);
}
}
}
------------
if문에서 c>='a' && c<='z' 으로 character와 영문자 그대로 사용해 간단하게 풀어보기
'Solved' 카테고리의 다른 글
[JAVA] 문제 2-2 주민번호 성별 판별 (0) | 2021.07.18 |
---|---|
[JAVA] 문제 2-4 오버로딩 (0) | 2021.07.17 |
[JAVA] 문제 2-3 난수의 합과 평균 (0) | 2021.07.15 |
[JAVA] 문제 2-1 배열 - 정수의 합 출력/문자열 출력 (0) | 2021.07.15 |
[JAVA] 문제 1-3 동전갯수 총액 (0) | 2021.07.15 |