연습문제 6번
1. 학생수는 3명 국어 영어 2과목 점수를 입력받아서
2. 평균이 80이상이면 합격
3. 그렇지 않으면 불합격을 출력하고
4. 합격한 사람의 수를 출력하는 프로그램
옵션 ) 메소드로(함수) 분리해서 작성
/*
Scanner sc = new Scanner(System.in);
System.out.println("국어 성적을 입력하세요");
int usernum = sc.nextInt();
System.out.println("1번 입력받은 국어성적: " + usernum);
int usernum2 = sc.nextInt();
System.out.println("2번 입력받은 국어성적: " + usernum2);
int usernum3 = sc.nextInt();
System.out.println("3번 입력받은 국어성적: " + usernum3);
Scanner sc2 = new Scanner(System.in);
System.out.println("수학 성적을 입력하세요");
int user2num = sc2.nextInt();
System.out.println("1번 입력받은 영어성적: " + user2num);
int user2num2 = sc2.nextInt();
System.out.println("2번 입력받은 영어성적: " + user2num2);
int user2num3 = sc2.nextInt();
System.out.println("2번 입력받은 영어성적: " + user2num3);
int sum1 = (usernum + user2num) / 2;
int sum2 = (usernum2 + user2num2) / 2;
int sum3 = (usernum3 + user2num3) / 2;
System.out.println(sum1);
System.out.println(sum2);
System.out.println(sum3);
checkPoint(sum1, sum2, sum3);
private void checkPoint ( int sum1, int sum2, int sum3){
int i = 0;
if (sum1 >= 80) {
System.out.println("1번 학생 합격");
i++;
} else {
System.out.println("1번 학생 불합격");
}
if (sum2 >= 80) {
System.out.println("2번 학생 합격");
i++;
} else {
System.out.println("2번 학생 불합격");
}
if (sum3 >= 80) {
System.out.println("3번 학생 합격");
i++;
} else {
System.out.println("3번 학생 불합격");
}
System.out.println("합격한 사람의 수 :" + i);
}
*/
코드가 너무 길고 배열을 사용하지 않아서 다시 작성해습니다
float[] arr = new float[3];
for (int i = 0; i < 3; i++) {
System.out.println((i + 1) + "번째 국어 성적을 입력하세요");
Scanner sc = new Scanner(System.in);
float usernum = sc.nextInt();
System.out.println((i + 1) + "번째 학생의 영어 성적을 입력하세요");
Scanner sc1 = new Scanner(System.in);
float user2num = sc1.nextInt();
arr[i] = (usernum + user2num) / 2;
}
avgPoint(arr);
}
private void avgPoint(float[] arr) {
int A=0;
for(int i=0;i<3;i++) {
if (arr[i] >= 80) {
System.out.println("pass");
A++;
} else {
System.out.println("fail");
}
}
System.out.println("합격한 사람의 수: " + A);
}
실행결과
연습문제 7번
1. 삼각형의 밑변의 길이와 높이를 입력받아
2. 넓이를 출력하고
3. continue? 에서 하나의 문자를 입력받아 그 문자가 Y나 y 이면 작업을 반복하고
4. 아니면 종료
옵션 ) 넓이는 소수점 자리로 출력하라
Scanner sc = new Scanner(System.in);
Scanner strSc = new Scanner(System.in); //int형이 아닌 string을 받는 scanner를 하나 더 생성
//do while문을 사용하여
String inputContinue = "y";
do{
//삼각형의 밑변의 길이
System.out.println("밑변의 길이를 정수로 입력하시오:");
int baseLineLen = sc.nextInt();
//삼각형의 높이
System.out.println("높이를 정수로 입력하시오:");
int height = sc.nextInt();
System.out.println("밑변의 길이 : " + baseLineLen);
System.out.println("높이의 길이 : " + height);
//넓이를 출력
float area = (float) ( baseLineLen * height ) / 2; //int 를 float으로 형변환 67p
System.out.println("넓이 : " + area);
System.out.println("Continue?");
inputContinue = strSc.nextLine();
// }while (inputContinue == "Y" || inputContinue == "y"); //==는 객체를 비교할때 주소값(객체)을 비교해서 fail
}while (inputContinue.equals("Y") || inputContinue.equals("y"));
실행결과
'연습문제 > JAVA' 카테고리의 다른 글
Java InterfacePractice2 (인터페이스 예제2 - 0811) (0) | 2021.08.11 |
---|---|
Java ExtendsPractice(상속예제 0811) (0) | 2021.08.11 |
Java 와 DB 연동-2 내가 참고할 코드 (0806) / github 커맨드 (0) | 2021.08.06 |
Java 와 DB 연동-1 내가 참고할 코드 (0805) (0) | 2021.08.05 |
JAVA 예제풀이 코드 1~5번 (0803) (0) | 2021.08.03 |