합격/불합격 출력
- 사용자한테 국어 / 수학 / 영어 성적을 입력받아 평균이 70점 이상이면
합격
이라고 출력하시오.
- 성적은
실수값
으로 가정
- 성적은 0이상 100점 이하가 올 수 있음
- 만약 세 과목 중 하나라도 성적 유효범위에 해당하지 않으면
성적이 유효하지 않습니다
를 출력하시오.
package me.day04.practice;
import java.util.Scanner;
public class Practice01 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("국어 성적 입력하시오: ");
double kor = scanner.nextDouble();
if (!(kor >= 0 && kor <= 100)) {
System.out.println("입력하신 성적 " + kor + " 유효하지 않습니다.");
return;
}
System.out.print("수학 성적 입력하시오: ");
double math = scanner.nextDouble();
if (!(math >= 0 && math <= 100)) {
System.out.println("입력하신 성적 " + math + " 유효하지 않습니다.");
return;
}
System.out.print("영어 성적 입력하시오: ");
double eng = scanner.nextDouble();
if (!(eng >= 0 && eng <= 100)) {
System.out.println("입력하신 성적 " + eng + " 유효하지 않습니다.");
return;
}
double avg = (kor + math + eng) / 3;
System.out.println("당신의 평균 점수는 " + avg + " 입니다.");
if (avg >= 70) {
System.out.println("합격");
}
scanner.close();
}
}
소문자 -> 대문자
- 사용자에게 입력받은 영문자가 소문자라면 대문자로 변경하는 프로그램을 작성하시오. (메서드 없이)
- 만약 입력받은 문자가 영문자가 아니라면
영문자가 유효하지 않습니다
를 출력하시오.
package me.day04.practice;
import java.util.Scanner;
public class Practice02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("영문자 하나를 입력하시오: ");
char ch = scanner.next().charAt(0);
if (!((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))) {
System.out.println("입력하신 문자 " + ch + " 는 영문자가 아닙니다.");
return;
}
if ((ch >= 'a' && ch <= 'z')) {
ch -= ('a' - 'A');
}
System.out.println("결과 문자는 " + ch + " 입니다.");
scanner.close();
}
}
계산기
- 간단한 계산기
- 사용자에게 두
정수
와 연산자 문자
를 입력받아 사칙연산 프로그램을 작성하시오.
- 연산자 종류:
+, -, *, /, %
- 만약 입력받은 문자가 연산자가 아니라면
연산자가 유효하지 않습니다
를 출력하시오.
package me.day04.practice;
import java.util.Scanner;
public class Practice03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("연산식을 입력하시오 : ");
char x = scanner.next().charAt(0);
char op = scanner.next().charAt(0);
char y = scanner.next().charAt(0);
System.out.println("x = " + x);
System.out.println("op = " + op);
System.out.println("y = " + y);
if (!(x >= '0' && x <= '9')) {
System.out.println(x + "가 한자리 피연산자가 아닙니다!");
return;
}
if (!(op == '+' || op == '-' || op == '*' || op == '/' || op == '%')) {
System.out.println(op + "가 유효하지 않은 연산자 입니다.");
return;
}
if (!(y >= '0' && y <= '9')) {
System.out.println(y + "가 한자리 피연산자가 아닙니다!");
return;
}
int xInt = x - '0';
int yInt = y - '0';
double res = 0;
if (op == '+') {
res = xInt + yInt;
} else if (op == '-') {
res = xInt - yInt;
} else if (op == '*') {
res = xInt * yInt;
} else if (op == '/') {
res = xInt / (double) yInt;
} else {
res = xInt % yInt;
}
System.out.printf("%d %c %d = %.2f\n", xInt, op, yInt, res);
scanner.close();
}
}
사분면 출력
![](https://velog.velcdn.com/images/soyoungkangme/post/12010d85-7879-46b5-b1d4-7845d534d051/image.png)
- 사분면 판단 프로그램
- 사용자에게 사분면 위의 두 점
x, y
를 입력받아 어떤 사분면에 속하는지 판단하는 프로그램을 작성하시오.
- 사분면 위의 점은
실수값
이라고 가정
- 1 사분면 위에 있으면
1 사분면
출력
- 2 사분면 위에 있으면
2 사분면
출력
- 3 사분면 위에 있으면
3 사분면
출력
- 4 사분면 위에 있으면
4 사분면
출력
- 만약 어떤 사분면 위에 있지 않고 x 축 위에 있으면
x 축 위에 있음
을 출력
- 만약 어떤 사분면 위에 있지 않고 y 축 위에 있으면
y 축 위에 있음
을 출력
- 원점이면
원점
을 출력
package me.day04.practice;
import java.util.Scanner;
public class Practice04 {
public static void main(String[] args) {
System.out.print("(x, y) : ");
Scanner scanner = new Scanner(System.in);
String point = scanner.nextLine();
point = point.replace("(", "");
point = point.replace(")", "");
String[] strings = point.split(",");
double x = Double.parseDouble(strings[0]);
double y = Double.parseDouble(strings[1]);
if (x == 0 && y == 0) {
System.out.println("at center");
} else if (x == 0) {
System.out.println("on y-axis");
} else if (y == 0) {
System.out.println("on x-axis");
} else if (x > 0 && y > 0) {
System.out.println("at 1 quadrant");
} else if (x < 0 && y > 0) {
System.out.println("at 2 quadrant");
} else if (x < 0 && y < 0) {
System.out.println("at 3 quadrant");
} else {
System.out.println("at 4 quadrant");
}
scanner.close();
}
}
윤년
- 윤년을 고려하여 윤년인 경우 2월달이 29일로 나오도록
- 윤년의 조건 🗓 (둘 중에서 하나만 만족하면 됨)
- 4의 배수이어야하고 100의 배수가 아니어야 함
- 400의 배수는 무조건 윤년이 됨
package me.day04.practice;
public class Practice05 {
public static void main(String[] args) {
int year = 2020;
int month = 2;
int totalDays = 0;
switch(month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
totalDays = 31;
break;
case 4:
case 6:
case 9:
case 11:
totalDays = 30;
break;
case 2:
totalDays = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ? 29 : 28;
break;
}
System.out.printf("%d년 %d월의 총 일수는 %d일 입니다\n", year, month, totalDays);
}
}