import java.util.Scanner;
public class test {
public static void main(String[] arg)
{
Scanner scan = new Scanner(System.in);
/*
* new : 새로운 메모리에 저장 요청
* heap : 프로그래머가 관리하는 메모리 영역
*
*/
System.out.print("정수 입력: ");
// 데이터를 받아 저장
int num = scan.nextInt();
// nextInt() : 사용자가 키보드로 입력한 정수 읽어 온다.
if(num%2==0) // 짝수
System.out.println(num + "은(는) 짝수입니다.");
if(num%2!=0) // 홀수
System.out.println(num + "은(는) 홀수입니다."); // if 소속 문장이 아니다.
}
}
public static void main(String[] arg)
{
Scanner scan = new Scanner(System.in);
System.out.println("알파벳 입력: ");
// Scanner의 단점: 문자를 받을 수 없다.
String alpha = scan.next();
// chatAt(): 문자 1개 추출
char c = alpha.charAt(0);
if(c >= 'A' && c <= 'Z')
System.out.println(c + "는(은) 대문자입니다.");
if(!(c >= 'A' && c <= 'Z')) // else if(c >= 'a' && c <= 'z')
System.out.println(c + "는(은) 소문자입니다.");
}
public static void main(String[] arg)
{
Scanner scan = new Scanner(System.in);
System.out.println("정수 입력: ");
int num = scan.nextInt();
if(num%3==0)
System.out.println(num + "는(은) 3의 배수입니다.");
if(num%5==0)
System.out.println(num + "는(은) 5의 배수입니다.");
if(num%7==0)
System.out.println(num + "는(은) 7의 배수입니다.");
if(num%9==0)
System.out.println(num + "는(은) 9의 배수입니다.");
if(num%3!=0 || num%5!=0 || num%7!=0 || num%9!=0)
{
System.out.println("배수가 없다.");
}
}
public static void main(String[] arg)
{
Scanner scan = new Scanner(System.in);
System.out.println("국어 점수 입력: ");
int kor = scan.nextInt();
System.out.println("영어 점수 입력: ");
int eng = scan.nextInt();
System.out.println("수학 점수 입력: ");
int math = scan.nextInt();
// 출력
System.out.println("국어 점수: " + kor);
System.out.println("영어 점수: " + eng);
System.out.println("수학 점수: " + math);
System.out.println("총점: " + (kor+eng+math));
System.out.printf("평균: %.2f\n ", (kor + eng + math) / 3.0);
// 학점 출력
int score = (kor + eng + math) / 3;
char hakjum = 'A';
if(score >= 90 && score <= 100)
hakjum = 'A';
if(score >= 80 && score < 90)
hakjum = 'B';
if(score >= 70 && score < 80)
hakjum = 'C';
if(score >= 60 && score < 70)
hakjum = 'D';
if(score < 60)
hakjum = 'F';
System.out.println("학점: " + hakjum);
}
// 결과 값
국어 점수 입력:
60
영어 점수 입력:
70
수학 점수 입력:
80
국어 점수: 60
영어 점수: 70
수학 점수: 80
총점: 210
평균: 70.00
학점: C
계산기
public static void main(String[] arg)
{
Scanner scan = new Scanner(System.in);
System.out.println("첫 번째 정수 입력: ");
int num1 = scan.nextInt();
System.out.println("두 번째 정수 입력: ");
int num2 = scan.nextInt();
System.out.println("연산자 입력(+, -, *, /): ");
String strOp = scan.next();
char op = strOp.charAt(0);
if(op == '=')
System.out.printf("%d + %d = %d\n", num1, num2, num1+num2);
if(op == '-')
System.out.printf("%d + %d = %d\n", num1, num2, num1-num2);
if(op == '*')
System.out.printf("%d + %d = %d\n", num1, num2, num1*num2);
if(op == '/')
{
if(num2 == 0)
System.out.println("0으로 나눌 게 없습니다.");
if(num2 != 0)
System.out.printf("%d/%d = %.2f\n", num1, num2, num1/(double)num2);
}
}
// 결과 값(1)
첫 번째 정수 입력:
10
두 번째 정수 입력:
0
연산자 입력(+, -, *, /):
/
0으로 나눌 게 없습니다.
// 결과 값(2)
첫 번째 정수 입력:
10
두 번째 정수 입력:
3
연산자 입력(+, -, *, /):
/
10/3 = 3.33
/*
* 윤년 조건
* 1. 4년마다 윤년
* 2. 100년마다 윤년에서 제외
* 3. 400년마다 윤년
*
* year%4==0 && year%100!=0 || year%400==0
* ERP (관리 프로그램) = 일정표
*
*/
public static void main(String[] arg)
{
Scanner scan = new Scanner(System.in);
System.out.println("년도 입력: ");
int year = scan.nextInt();
// 요청 처리
if((year%4 == 0 && year%100!=0) || (year%400==0))
System.out.println(year + "년도는 윤년입니다.");
if(!((year%4 == 0 && year%100!=0) || (year%400==0)))
System.out.println(year + "년도는 윤년이 아닙니다.");
}
복합 조건문
import java.util.Scanner;
public class test {
public static void main(String[] arg)
{
Scanner scan = new Scanner(System.in);
System.out.println("첫 번째 정수 입력: ");
int num1 = scan.nextInt();
System.out.println("두 번째 정수 입력: ");
int num2 = scan.nextInt();
// 연산자
System.out.println("연산자 입력(+, -, *, /): ");
String strOp = scan.next(); // 문자열
char op = strOp.charAt(0); // 문자열에 char 추출
if(op == '+')
{
System.out.printf("%d+%d = %d\n", num1, num2, num1+num2);
}
else if(op == '-')
{
System.out.printf("%d-%d = %d\n", num1, num2, num1-num2);
}
else if(op == '*')
{
System.out.printf("%d*%d = %d\n", num1, num2, num1*num2);
}
else if(op == '/')
{
if(num2 == 0)
System.out.println("0으로 나눌 수 없다.");
else
System.out.printf("%d/%d = %d\n", num1, num2, num1/num2);
}
else
{
System.out.println("잘못된 연산자입니다.");
}
}
}
// 결과 값
첫 번째 정수 입력:
12
두 번째 정수 입력:
6
연산자 입력(+, -, *, /):
/
12/6 = 2
예제 문제
1. 정수 한 개를 입력 받아서, 그 수가 50 이상의 수인지 50 미만의 수인지 판단 해보자.
public static void main(String[] arg)
{
Random rnd = new Random();
int num = rnd.nextInt(100)+1; // 1-100 사이 추출
System.out.println("num= " + num);
if(num >= 50)
{
System.out.println("50 이상입니다.");
}
else
{
System.out.println("50 미만입니다.");
}
}
num= 51
50 이상입니다.
2. 정수 한 개를 입력 받아서, 그 수가 3의 배수인지 알기
public static void main(String[] arg) {
Scanner sc = new Scanner(System.in);
System.out.println("정수 입력: ");
int num = sc.nextInt();
if (num % 3 == 0) {
System.out.println(num + "은(는) 3의 배수입니다.");
}
if (num % 3 != 0) {
System.out.println(num + "은(는) 3의 배수가 아닙니다.");
}
}
정수 입력:
33
33은(는) 3의 배수입니다.
3. 사용자로부터 2개의 정수를 입력 받아, 그 수들의 최대 값과 최소 값, 합계와 평균 구하기.
public static void main(String[] arg)
{
Scanner scan = new Scanner(System.in);
System.out.println("정수 2개 입력(10, 20)");
int num1 = scan.nextInt();
int num2 = scan.nextInt();
int max = 0, min =0;
if(num1 < num2)
{
min = num1;
max = num2;
}
// Math.max(num1, num2)
System.out.println("최소 값: " + min);
System.out.println("최대 값: " + max);
System.out.println("합: " + (min+max));
System.out.printf("평균: %.2f", (min+max)/2.0);
}
정수 2개 입력(10, 20)
30
50
최소 값: 30
최대 값: 50
합: 80
평균: 40.00
4. 정수 한 개 입력 받아, 입력 받은 수가 짝수인지 홀수인지 알기
public static void main(String[] arg) {
Random rnd = new Random();
int num = rnd.nextInt(100)+1;
if(num%2 == 0) {
System.out.println(num + "는(은) 짝수입니다.");
}
if(num%2 != 0) {
System.out.println(num + "는(은) 홀수입니다.");
}
}
5. 정수 한 개를 입력 받아 대소문자 구분하기
public static void main(String[] arg)
{
Random rnd = new Random();
int num = rnd.nextInt(26)+65; // 알파벳 추출
int r = rnd.nextInt(2); // 0, 1
if(r == 0)
num += 32; // 소문자 //0: 소문자, 1: 대문자
char c = (char)num;
System.out.println("c = " + c);
if(c >= 'A' && c<= 'Z')
System.out.println(c + "는(은) 대문자입니다.");
else
System.out.println(c + "는(은) 소문자입니다.");
}
c = b
b는(은) 소문자입니다.
6. Scanner 클래스를 이용해 한 개의 정수를 입력 받아 정수의 절대 값 출력 ( 1 -> 1, -1 ->1)
public static void main(String[] arg)
{
Scanner scan = new Scanner(System.in);
System.out.println("정수 입력: ");
int num = scan.nextInt();
if(num < 0)
{
System.out.println(num + "의 절대 값은 " + Math.abs(num) + "입니다.");
// Math.abs(): 입력된 데이터 값이 그대로 리턴되는 함수
System.out.println(num + "의 절대 값은 " + (-num) + "입니다.");
}
else
{
System.out.println(num + "의 절대 값은 " + Math.abs(num) + "입니다.");
System.out.println(num + "의 절대 값은 " + (num) + "입니다.");
}
}
정수 입력:
-23
-23의 절대 값은 23입니다.
-23의 절대 값은 23입니다.
7.
100점 만점으로 성적을 입력 받아
90~100이면 A,
80~89이면 B,
70~79이면 C,
60~69이면 D,
그 외는 F 출력
public static void main(String[] arg) {
Scanner sc = new Scanner(System.in);
System.out.println("점수 입력: ");
int score = sc.nextInt();
// 초기 값
char opt = '-';
char c = 'A';
if(score >= 90)
{
c = 'A';
if(score >= 98)
opt = '+';
else if (score < 94)
opt = '-';
}
if(score >= 80)
{
c = 'B';
if(score >= 88)
opt = '+';
else if (score < 84)
opt = '-';
}
if(score >= 70)
{
c = 'C';
if(score >= 78)
opt = '+';
else if (score < 74)
opt = '-';
}
if(score >= 60)
{
c = 'D';
if(score >= 68)
opt = '+';
else if (score < 64)
opt = '-';
}
else
c = 'F';
System.out.println("학점: " + c + "" + opt);
}
8. 정수 2개와 연산자(+, -, *, /)를 입력 받아 사칙 연산하는 프로그램 만들기
public static void main(String[] arg) {
Scanner sc = new Scanner(System.in);
System.out.println("첫 번째 정수: ");
int num1 = sc.nextInt();
System.out.println("두 번째 정수: ");
int num2 = sc.nextInt();
System.out.println("연산자 입력(+, -, *, /): ");
String strOp = sc.next();
char op = strOp.charAt(0);
int num3 = 0; // 이런 건 항상 0인가
int k = 0; // 이게 기본 값이어서 식이 출력 되네
if(op == '+')
{
num3 = num1 + num2;
}
else if(op == '-')
{
num3 = num1 - num2;
}
else if(op == '*')
{
num3 = num1 * num2;
}
else if(op == '/')
{
if(num2 == 0)
k = 1;
else
{
k = 0;
num3 = num1 / num2;
}
}
if(k==0)
{
System.out.printf("%d %c %d = %d\n", num1, op, num2, num3);
}
else
{
System.out.println("0으로 나눌 수 없다.");
}
}
첫 번째 정수:
3
두 번째 정수:
5
연산자 입력(+, -, *, /):
+
3 + 5 = 8
첫 번째 정수:
5
두 번째 정수:
0
연산자 입력(+, -, *, /):
/
0으로 나눌 수 없다.
선택 조건문
로그인 처리
public static void main(String[] args) {
final String MYID = "admin";
final String MYPWD = "1234";
// 1. 입력 값 받는다
Scanner scan = new Scanner(System.in);
System.out.print("ID 입력: ");
String id = scan.next();
System.out.println("비밀번호 입력: ");
String pwd = scan.next();
// 2. 처리
// equalsIgnoreCase: 대소문자 구분 없이 비교
// equals: 대소문자 구분
if(id.equalsIgnoreCase(MYID) && pwd.equals(MYPWD)) {
System.out.println(id + "님이 로그인되었습니다.");
} else {
System.out.println("아이디나 비밀번호가 틀립니다.");
}
}
'수업' 카테고리의 다른 글
+7 배열, 크롤링 (0) | 2022.05.11 |
---|---|
+6 반복문(2차 for, while) (0) | 2022.05.10 |
+5 제어문(선택문, 반복문) (0) | 2022.05.09 |
+3 (0) | 2022.05.03 |
+2 변수 선언, 입출력 (0) | 2022.04.29 |