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 |