JAVA
-
Test042 조건문 switch문(4)2020.09.03
-
Test041 조건문 switch문(3)2020.09.03
-
Test040 조건문 switch문(2)2020.09.03
-
Test039 조건문 switch문(1)2020.09.02
-
Test038 조건문 if ~ else if ~ else 문(8)2020.09.02
-
Test037 조건문 if ~ else if ~ else 문(7)2020.09.02
Test042 조건문 switch문(4)
※ 사용자로부터 한 문자를 입력받아 입력받은 문자가 숫자인지 숫자가 아닌지를 판별하는 프로그램을 구현한다.
단, switch-case 문을 활용하여 처리할 수 있도록 한다.
실행 예)
한 문자 입력 : 6
>> 입력하신 문자는 숫자입니다.
계속하려면 아무 키나 누르세요...
한 문자 입력 : t
>> 입력하신 문자는 숫자가 아닙니다.
계속하려면 아무 키나 누르세요...
import java.io.IOException; public class Test042 { public static void main(String[] args) throws IOException { int n; System.out.print("한 문자 입력 : "); n = System.in.read(); switch(n) { case 48: case 49: case 50: case 51: case 52: case 53: case 54: case 55: case 56: case 57: System.out.println("입력하신 문자는 숫자입니다."); break; default: System.out.println("입력하신 문자는 숫자가 아닙니다."); return; } } } // 실행 결과 /* 한 문자 입력 : 6 입력하신 문자는 숫자입니다. 계속하려면 아무 키나 누르십시오 . . . 한 문자 입력 : d 입력하신 문자는 숫자가 아닙니다. 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test044 반복문 while문(2) (0) | 2020.09.03 |
---|---|
Test043 반복문 while문(1) (0) | 2020.09.03 |
Test041 조건문 switch문(3) (0) | 2020.09.03 |
Test040 조건문 switch문(2) (0) | 2020.09.03 |
Test039 조건문 switch문(1) (0) | 2020.09.02 |
Test041 조건문 switch문(3)
※ 사용자로부터 임의의 두 정수와 연산자를 입력받아 해당 연산자의 처리 결과를 출력하는 프로그램을 구현한다.
단, switch 문을 활용하여 처리할 수 있도록 하며, 결과는 편의상 정수 형태로 처리한다.
실행 예)
첫 번째 정수 입력 : 20
두 번째 정수 입력 : 11
연산자 입력[+ - * / ] : -
>> 20 - 11 = 9
계속하려면 아무 키나 누르세요...
첫 번째 정수 입력 : 20
두 번째 정수 입력 : 11
연산자 입력[+ - * / ] : $
계속하려면 아무 키나 누르세요...
방법 ①
System.in.read() 메소드로 입력받은 문자의 아스키코드 값을 이용하여 조건을 따진다.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Test041 { public static void main(String[] args) throws IOException { // 방법 ① // 주요 변수 선언 int a, b, result; //--첫 번째 정수, 두 번째 정수, 연산 결과값 int op; //-- 연산자 // 연산 및 처리 System.out.print("첫 번째 정수 입력 : "); a = Integer.parseInt(br.readLine()); System.out.print("첫 번째 정수 입력 : "); b = Integer.parseInt(br.readLine()); System.out.print("연산자 입력[+ - * / ] : "); op = System.in.read(); // + → op:43, - → op:45, * → op:42, / → op:47 // 결과 출력 switch(op) { case 43: result = a + b; break; case 45: result = a - b; break; case 42: result = a * b; break; case 47: result = a / b; break; default: return; //-- 메소드 종료 → main() 메소드 종료 → 프로그램 종료 } // ※ "return" 1. 값을 반환 → 메소드 호출 지점 // 2. 메소드의 종료 // 결과 출력 System.out.println(); System.out.printf(">> %d %c %d = %d\n",a,(char)op,b,result); } }
방법 ②
입력받은 문자를 문자형 변수에 담은후 조건을 따진다.
// 방법 ② // 주요 변수 선언 int a, b, result; //--첫 번째 정수, 두 번째 정수, 연산 결과값 char op; //-- 연산자 // 연산 및 처리 System.out.print("첫 번째 정수 입력 : "); a = Integer.parseInt(br.readLine()); System.out.print("첫 번째 정수 입력 : "); b = Integer.parseInt(br.readLine()); System.out.print("연산자 입력[+ - * / ] : "); op = (char)System.in.read(); // + → op:43, - → op:45, * → op:42, / → op:47 // 결과 출력 switch(op) { case '+': result = a + b; break; case '-': result = a - b; break; case '*': result = a * b; break; case '/': result = a / b; break; default: return; //-- 메소드 종료 → main() 메소드 종료 → 프로그램 종료 } // ※ "return" 1. 값을 반환 → 메소드 호출 지점 // 2. 메소드의 종료 // 결과 출력 System.out.println(); System.out.printf(">> %d %c %d = %d\n",a,op,b,result);
방법 ③
문자열 변수에 한문자를 입력받아 조건을 따진다.
// 방법 ③ // 주요 변수 선언 int a, b, result; //--첫 번째 정수, 두 번째 정수, 연산 결과값 String op; //-- 연산자 // 연산 및 처리 System.out.print("첫 번째 정수 입력 : "); a = Integer.parseInt(br.readLine()); System.out.print("첫 번째 정수 입력 : "); b = Integer.parseInt(br.readLine()); System.out.print("연산자 입력[+ - * / ] : "); op = br.readLine(); // + → op:43, - → op:45, * → op:42, / → op:47 // 결과 출력 switch(op) { case "+": result = a + b; break; case "-": result = a - b; break; case "*": result = a * b; break; case "/": result = a / b; break; default: return; //-- 메소드 종료 → main() 메소드 종료 → 프로그램 종료 } // ※ "return" 1. 값을 반환 → 메소드 호출 지점 // 2. 메소드의 종료 // 결과 출력 System.out.println(); System.out.printf(">> %d %s %d = %d\n",a,op,b,result);
실행 결과
// 실행 결과 /* 첫 번째 정수 입력 : 5 첫 번째 정수 입력 : 9 연산자 입력[+ - * / ] : + >> 5 + 9 = 14 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test043 반복문 while문(1) (0) | 2020.09.03 |
---|---|
Test042 조건문 switch문(4) (0) | 2020.09.03 |
Test040 조건문 switch문(2) (0) | 2020.09.03 |
Test039 조건문 switch문(1) (0) | 2020.09.02 |
Test038 조건문 if ~ else if ~ else 문(8) (0) | 2020.09.02 |
Test040 조건문 switch문(2)
※ 1부터 3까지의 정수 중 하나를 사용자로부터 입력받아 입력받은 정수만큼의 별문자(★)가 출력되는 프로그램을 작성한다. 단, 두 가지 방법으로 구현할 수 있도록 한다.
① switch 문의 일반 모델을 사용하여 문제를 해결한다.
② switch 문의 기본 모델을 사용하되 break 를 딱 한 번만 사용하여 문제를 해결한다.
실행 예)
임의의 정수 입력(1~3) : 3
★★★
계속하려면 아무 키나 누르세요...
임의의 정수 입력(1~3) : 1
★
계속하려면 아무 키나 누르세요...
임의의 정수 입력(1~3) : 7
입력 오류~!!!
계속하려면 아무 키나 누르세요...
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Test040 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n; System.out.print("임의의 정수 입력(1~3) : "); n = Integer.parseInt(br.readLine()); switch(n) { case 3: System.out.print("★"); case 2: System.out.print("★"); case 1: System.out.print("★\n");break; default: System.out.println("입력 오류 ~!!!"); } } } // 실행 결과 /* 임의의 정수 입력(1~3) : 1 ★ 계속하려면 아무 키나 누르십시오 . . . 임의의 정수 입력(1~3) : 2 ★★ 계속하려면 아무 키나 누르십시오 . . . 임의의 정수 입력(1~3) : 3 ★★★ 계속하려면 아무 키나 누르십시오 . . . 임의의 정수 입력(1~3) : 4 입력 오류 ~!!! 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test042 조건문 switch문(4) (0) | 2020.09.03 |
---|---|
Test041 조건문 switch문(3) (0) | 2020.09.03 |
Test039 조건문 switch문(1) (0) | 2020.09.02 |
Test038 조건문 if ~ else if ~ else 문(8) (0) | 2020.09.02 |
Test037 조건문 if ~ else if ~ else 문(7) (0) | 2020.09.02 |
Test039 조건문 switch문(1)
○ 다중 선택문이라 하며, switch 문 다음의 수식 값에 따라 실행 순서를 여러 방향으로 분기할 때 사용하는 문장이다.
○ 형식 및 구조
switch(수식)
{
case 상수1 : 문장1; [break;]
case 상수1 : 문장1; [break;]
:
[default : 문장n+1; [break;]]
}
switch 문의 "수식"과 case의 "상수" 는
byte, short, int, long 형이어야 한다.
case 문 뒤에 "break;" 가 없는 형태인 경우
다음 case 문장을 계속해서(이어서) 수행하게 된다. (→ 기본 모델)
import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Test039 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String name; int kor,eng,mat,avg; char grade; System.out.print("이름 입력 : "); name = br.readLine(); System.out.print("국어점수 입력 : "); kor = Integer.parseInt(br.readLine()); System.out.print("영어점수 입력 : "); eng = Integer.parseInt(br.readLine()); System.out.print("수학점수 입력 : "); mat = Integer.parseInt(br.readLine()); avg = (kor+eng+mat) / 3; grade = 'F'; /* if(avg>=90) grade = 'A'; else if(avg>=80) grade = 'B'; else if(avg>=70) grade = 'C'; else if(avg>=60) grade = 'D'; else grade = 'F'; */ switch (avg/10) { case 10: case 9: grade = 'A'; break; case 8: grade = 'B'; break; case 7: grade = 'C'; break; case 6: grade = 'D'; break; //default: grade = 'F'; break; } System.out.println(); System.out.printf("당신의 이름은 %s 입니다\n",name); System.out.printf("총점은 %d, 평균은 %d 입니다.\n",(kor+eng+mat),avg); System.out.printf("등급은 %c 입니다.\n",grade); } } // 실행 결과 /* 이름 입력 : 조윤상 국어점수 입력 : 90 영어점수 입력 : 70 수학점수 입력 : 90 당신의 이름은 조윤상 입니다 총점은 250, 평균은 83 입니다. 등급은 B 입니다. 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test041 조건문 switch문(3) (0) | 2020.09.03 |
---|---|
Test040 조건문 switch문(2) (0) | 2020.09.03 |
Test038 조건문 if ~ else if ~ else 문(8) (0) | 2020.09.02 |
Test037 조건문 if ~ else if ~ else 문(7) (0) | 2020.09.02 |
Test036 조건문 if ~ else if ~ else 문(6) (0) | 2020.09.02 |
Test038 조건문 if ~ else if ~ else 문(8)
※ 사용자로부터 알파벳 한 문자를 입력받아 이를 판별하여 입력받은 알파벳이 모음(a e i o u)일 경우만 결과를 출력하는 프로그램을 구현한다. 단, 대소문자를 모두 적용할 수 있도록 처리한다. 또한, 알파벳 이외의 문자가 입력되었을 경우 입력 오류에 대한 내용을 사용자에게 안내해 줄 수 있도록 한다.
실행 예)
알파벳 한 문자 입력 : A
>> 모음 OK~!!!
계속하려면 아무 키나 누르세요...
알파벳 한 문자 입력 : e
>> 모음 OK~!!!
계속하려면 아무 키나 누르세요...
알파벳 한 문자 입력 : B
계속하려면 아무 키나 누르세요...
알파벳 한 문자 입력 : 3
>> 입력 오류~!!!
계속하려면 아무 키나 누르세요...
import java.io.IOException; public class Test038 { public static void main(String[] args) throws IOException { int a; // 입력받을 문자 System.out.print("알파벳 한 문자 입력 : "); a = System.in.read(); //65 69 73 79 85 (A E I O U) //97 101 105 111 117 (a e i o u) if(a <= 122 && a >= 65) { if(a == 65 || a == 69 || a == 73 || a == 79 || a == 85 || a == 97 || a == 101 || a == 105 || a == 111 || a == 117) { System.out.println(">> 모음 OK~!!!"); } } else { System.out.println(">> 입력 오류~!!!"); } } } // 실행 결과 /* 알파벳 한 문자 입력 : a >> 모음 OK~!!! 계속하려면 아무 키나 누르십시오 . . . 알파벳 한 문자 입력 : O >> 모음 OK~!!! 계속하려면 아무 키나 누르십시오 . . . 알파벳 한 문자 입력 : u >> 모음 OK~!!! 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test040 조건문 switch문(2) (0) | 2020.09.03 |
---|---|
Test039 조건문 switch문(1) (0) | 2020.09.02 |
Test037 조건문 if ~ else if ~ else 문(7) (0) | 2020.09.02 |
Test036 조건문 if ~ else if ~ else 문(6) (0) | 2020.09.02 |
Test035 조건문 if ~ else if ~ else 문(5) (0) | 2020.09.02 |
Test037 조건문 if ~ else if ~ else 문(7)
※ 사용자로부터 임의의 정수 5개를 입력받아 짝수, 홀수별 합계를 출력하는 프로그램을 구현한다.
단, Scanner 를 활용하여 공백으로 구분된 데이터를 한 번에 입력받아 처리할 수 있도록 한다.
실행 예)
정수 5개(공백구분)를 입력하세요 : 12 3 4 5 6
>> 짝수의 합은 22이고, 홀수의 합은 8 입니다.
계속하려면 아무 키나 누르세요...
import java.util.Scanner; public class Test037 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n1,n2,n3,n4,n5; int even=0,odd=0; System.out.print("정수 5개(공백구분)를 입력하세요 : : "); n1 = sc.nextInt(); n2 = sc.nextInt(); n3 = sc.nextInt(); n4 = sc.nextInt(); n5 = sc.nextInt(); if(n1 % 2 ==0) { even+=n1; } else { odd+=n1; } if(n2 % 2 ==0) { even+=n2; } else { odd+=n2; } if(n3 % 2 ==0) { even+=n3; } else { odd+=n3; } if(n4 % 2 ==0) { even+=n4; } else { odd+=n4; } if(n5 % 2 ==0) { even+=n5; } else { odd+=n5; } System.out.println("짝수의 합은"+ even +"이고, 홀수의 합은" + odd + "입니다."); } } // 실행 결과 /* 정수 5개(공백구분)를 입력하세요 : : 5 1 8 1 6 짝수의 합은14이고, 홀수의 합은7입니다. 계속하려면 아무 키나 누르십시오 . . . */
'JAVA > 자바 기본 프로그래밍' 카테고리의 다른 글
Test039 조건문 switch문(1) (0) | 2020.09.02 |
---|---|
Test038 조건문 if ~ else if ~ else 문(8) (0) | 2020.09.02 |
Test036 조건문 if ~ else if ~ else 문(6) (0) | 2020.09.02 |
Test035 조건문 if ~ else if ~ else 문(5) (0) | 2020.09.02 |
Test034 조건문 if ~ else if ~ else 문(4) (0) | 2020.09.02 |