연습 문제
2회차 연습 문제는 Practice 클래스 안에 메서드로 선언하여 해결했다.
내 이름 출력하기
public void inputName() {
System.out.println("이름을 입력하세요.");
Scanner scanner = new Scanner(System.in);
String name = scanner.nextLine();
System.out.println("입력하신 이름은 " + name + "입니다.");
}
next(), nextLine() 차이: next()는 띄어쓰기로 구분하고 nextLine()는 문자열 한줄
아이유 프로필 출력하기
public void printIUProfile() {
String name = "아이유";
int age = 30;
boolean isCollegeStudent = true;
double weight = 40.5;
long property = 10000000000l;
System.out.println("이름 : " + name);
System.out.println("나이 : " + age);
System.out.println("대학생인가요? : " + isCollegeStudent);
System.out.println("몸무게 : " + weight);
System.out.println("재산 : " + property);
}
자료형: 정수인지 실수인지 참인지 거짓인지 문자열인지 등을 나타내는 것
tip: int는 10억을 넘지 않을 가능성이 높은 정수를 표현할 때, long은 10억을 넘을 가능성이 높은 정수를 표현할 때 사용
수학 문제
public void math1() {
System.out.println((((10 + 5) * 3) / 5) % 7);
}
public void math2() {
int a = 7;
int b = 5;
int c = 3;
int d = 6;
System.out.println(++a);
System.out.println(b++);
System.out.println(c--);
System.out.println(--d);
System.out.println(a);
System.out.println(b);
System.out.println(c);
System.out.println(d);
}
+ : 덧셈, - : 뺄셈, * : 곱셈, / : 나눗셈, % : 나머지 연산
double, int 의 연산 결과는 double이 출력됨
연산자가 변수 앞에 오면 연산 후 결과 출력, 뒤에 오면 결과 출력 후 연산을 수행함
보너스 3등분하기
public void divideThreeEqualParts() {
System.out.println("보너스 금액을 입력하세요.");
Scanner scanner = new Scanner(System.in);
int bonus = scanner.nextInt();
double part = (double) bonus / 3;
System.out.println("3등분된 보너스 금액은 " + part + "원 입니다.");
}
int 자료형끼리 연산하면 int 자료형 결과가 출력되기 때문에 double 로 형변환 진행
3의 배수인지 체크하기
public void checkMultipleOfThree() {
System.out.println("3의 배수인지 판단하고 싶은 숫자를 입력하세요.");
Scanner scanner = new Scanner(System.in);
int input = scanner.nextInt();
if (input % 3 == 0) {
System.out.println("3의 배수입니다.");
}
else {
System.out.println("3의 배수가 아닙니다.");
}
}
나머지 연산자(%) 사용
2회차 미션
요구 사항
- JSCODE 1~3기가 시험을 봤다. 1, 2기는 평균 점수가 60점 이상이어야 합격이다. 3기는 평균 점수가 70점 이상이어야 합격이다. 다만, 100점 과목이 2개 이상일 경우 평균 점수와 상관없이 합격이다.
- 3개 과목 점수 입력
- 최고점, 최저점 출력
- 합격일 경우 합격입니다.라는 문구를 출력해야 한다.
- 불합격일 경우 불합격입니다.라는 문구를 출력해야 한다.
import java.util.Scanner;
public class Mission2 {
public void printTestResult() {
int max;
int min;
Scanner scanner = new Scanner(System.in);
System.out.println("몇 기인지 입력해주세요.");
int groupNum = scanner.nextInt();
System.out.println("HTML 과목 점수를 입력해주세요.");
int htmlScore = scanner.nextInt();
System.out.println("CSS 과목 점수를 입력해주세요.");
int cssScore = scanner.nextInt();
if (htmlScore > cssScore) {
max = htmlScore;
min = cssScore;
}
else {
max = cssScore;
min = htmlScore;
}
System.out.println("Javascript 과목 점수를 입력해주세요.");
int javaScriptScore = scanner.nextInt();
if (javaScriptScore > max) max = javaScriptScore;
else if (javaScriptScore < min) min = javaScriptScore;
double avg = (double) (htmlScore + cssScore + javaScriptScore) / 3;
boolean isPass;
if ((htmlScore == 100 && cssScore == 100)
|| (htmlScore == 100 && javaScriptScore == 100)
|| (cssScore == 100 && javaScriptScore == 100)) {
isPass = true;
}
else {
if (groupNum == 3) {
isPass = avg >= 70;
}
else {
isPass = avg >= 60;
}
}
if (isPass) System.out.println("합격입니다.");
else System.out.println("불합격입니다.");
System.out.println("전체 과목 중 최고점은 " + max + "점입니다.");
System.out.println("전체 과목 중 최저점은 " + min + "점입니다.");
System.out.println("전체 과목의 평균은 " + avg + "점입니다.");
}
}
두번째 과목 입력 시부터 최고점, 최저점 계산
평균 점수 double 형변환
합불 여부를 boolean 형 변수에 지정
2회차 연습 문제와 미션을 진행해보았다. 아주 기본적인 내용들이지만 오랜만에 마주해서 그런지 잘 기억이 나질 않았다.
그래도 족집게 노트를 천천히 읽어보면서 연습 문제를 풀어보니 서서히 기억이 돌아오는 것 같았다.
결론적으로는 오랜만에 재밌었다. 실무에서도 이런 재미를 느끼면 좋겠건만 쉽지 않은 것 같다.
얼른 자바와 스프링 프로젝트를 진행해보고 싶당
'Java' 카테고리의 다른 글
JSCODE 6회차 (1) | 2023.02.20 |
---|---|
JSCODE 5회차 (1) | 2023.02.16 |
JSCODE 4회차 (2) | 2023.02.13 |
JSCODE 3회차 (1) | 2023.02.09 |
JSCODE 1회차 (1) | 2023.01.30 |