if 문
//변수에 저장된 문자값을 출력하세요.
//단, 변수에 저장된 문자값이 소문자인 경우 대문자로 변환하여 출력하세요.
// char mun = 'X';
//
// // if에 들어갈 조건은 그렇다치고. 변환? 시켜주는 법을 모르겠음.
// if (mun >= 'a' && mun<= 'z') {
// System.out.println( mun + " 를" + " 대문자로 바꾸면 = "+'X');
// } else {
// System.out.println( mun +" 은" +" 소문자가 아니기 때문에, 대문자 변환이 되지않습니다.");
// }
char mun = 'x';
if (mun >= 'a' && mun <= 'z') { // 변수값이 영문자 소문자인 경우
mun -= 32; // mun = (char) (mun -32);
}
System.out.println( "mun = " + mun);
mun = X
// 변수에 저장된 정수값이 4의 배수인지 아닌지를 구분하여 출력하세요.
// // !!!형변환? 어캐해줌??
// int num = 345648;
//
// // || 는 or 연산자
//// if ( num /4 == 0 || num == 4 ) {
//// System.out.println(num + " 는 4의 배수 입니다.");
//// 이게 잘못된거같음!! 왜지??
//
// if ( num %4 == 0 ) {
// System.out.println( num + " 는 4의 배수 입니다.");
// } // !!!. 왜 이게 되지?
//
// else {
// System.out.println (num + " 는 4의 배수가 아닙니다.");
// }
//
// // !!!아니라고 뜨는데, 그럼 무슨 배수 인지 알고싶음..ㅠ >> 이걸 어떻게 하는지 모르겠음.
int num = 345644;
if (num %4 == 0) {
System.out.println("[결과] " + num + " 는 4 의 배수가 맞습니다.");
}else {
System.out.println("[결과] " + num + " 는 4 의 배수가 아닙니다.");
}
[결과] 345644 는 4 의 배수가 맞습니다.
// 올해가 평년인지 윤년을 구분하여 출력하세요.
// => 년도를 4로 나누어 나머지가 0인 경우 윤년
// => 위 조건을 만족하는 년도 중 100으로 나누어 나머지가 0인 경우 평년
// => 위 조건을 만족하는 년도 중 400으로 나누어 나머지가 0인 경우 윤년
// int year = 2023;
//
// if ( year %4 == 0 ) {
// System.out.println( year + " 은 윤년 입니다.");
// }
//
// else if ( year %100 == 0) {
// System.out.println( year + " 은 평년 입니다. ");
// }
//
// else {
// System.out.println(year + " 은 윤년이 아닙니다");
// }
int year = 2023;
if (year %4 == 0 && year % 100 != 0 || year % 400 == 0) { // if ( year을 4로 나눴을때 나머지가 0 &&(이고) year 100 나눠서 0이 아니 || 거나 year 나누기 400 나머지가 안남으면 )
System.out.println("[결과] " + year + "년은 윤년입니다.");
} else {
System.out.println("[결과] " + year + "년은 평년입니다.");
}
[결과] 2023년은 평년입니다.
// 이름이 [홍길동]인 학생이 국어점수 89점, 영어점수 93점, 수학점수 95점을 받은 경우
// 총점과 평균, 학점을 계산하여 이름, 총점, 평균, 학점을 출력하세요.
// => 국어,영어,수학 점수 중 하나라도 0~100 범위가 아닌 경우 프로그램 강제 종료
// System.exit(0) : 프로그램을 강제로 종료하는 메소드
// => 평균을 이용한 학점 계산 : 100~90:A, 89~80:B, 79~70:C, 69~60:D, 59~0:F
// => 평균은 소숫점 두자리까지만 출력하고 나머지는 절삭 처리 하세요.
String name = "홍길동";
int kor= 89 , eng= 93, mat = 95;
int sum = kor + eng + mat; // 합산
double average = sum/3; // 학점
// if (kor <= 100 && eng <= 100 && mat <= 100 ) {
// System.out.println( "0 ~ 100 범위가 아닙니다.");
// System.exit(0);
if (kor >= 100 || kor <= 0 ) {
System.out.println("국어점수 가 0 ~ 100 범위가 아닙니다.");
System.out.println("프로그램을 종료 합니다.");
System.exit(0);
} if ( eng >= 100 || eng <= 0) {
System.out.println("영어점수 가 0 ~ 100 범위가 아닙니다.");
System.out.println("프로그램을 종료 합니다.");
System.exit(0);
} if ( mat >= 100 || mat <= 0) {
System.out.println("수학점수 가 0 ~ 100 범위가 아닙니다.");
System.out.println("프로그램을 종료 합니다.");
System.exit(0);
} else if (average <= 100 && average >= 90) {
System.out.println( "평균은 " + average + " 점, A학점");
} else if (average <= 89 && average >= 80) {
System.out.println( "평균은 " + average + " 점, B학점");
} else if (average <= 79 && average >= 70) {
System.out.println( "평균은 " + average + " 점, C학점");
} else if (average <= 69 && average >= 60) {
System.out.println("평균은 " + average + " 점, D학점");
} else if (average <= 59 && average >= 0) {
System.out.println("평균은 " + average + " 점, F학점");
} else {
System.exit(0);
}
// 자꾸 B학점으로 멈춤; >> B학점 부터 &&(and) 말고 ||(or) 로 적어서 그럼.
System.out.println("국어점수 + 영어점수 + 수학점수 의 합계는 \" " + sum + "점" + " \" ");
// 자꾸 B학점으로 멈춤; >> B학점 부터 &&(and) 말고 ||(or) 로 적어서 그럼.
System.out.println("국어점수 + 영어점수 + 수학점수 의 합계는 \" " + sum + "점" + " \" ");
평균은 10.0 점, F학점
국어점수 + 영어점수 + 수학점수 의 합계는 " 32점 "
// 이름이 [홍길동]인 학생이 국어점수 89점, 영어점수 93점, 수학점수 95점을 받은 경우
// 총점과 평균, 학점을 계산하여 이름, 총점, 평균, 학점을 출력하세요.
// => 국어,영어,수학 점수 중 하나라도 0~100 범위가 아닌 경우 프로그램 강제 종료
// System.exit(0) : 프로그램을 강제로 종료하는 메소드
// => 평균을 이용한 학점 계산 : 100~90:A, 89~80:B, 79~70:C, 69~60:D, 59~0:F
// => 평균은 소숫점 두자리까지만 출력하고 나머지는 절삭 처리 하세요.
String name = "홍길동";
int kor= 89 , eng= 93, mat = 95;
/*
// 이건 불친절한 오류메시지임 (한번에 묶여있어서)
if (kor > 100 || kor < 0 || (eng > 100 || eng < 0 ) || (mat < 100 || mat < 0)) {
System.out.println("[에러] 0 ~ 100 범위를 벗어난 비정상적인 점수가 입력 되었습니다.");
System.exit(0);
}
*/
boolean vaild = false; // 검증 결과를 저장하기위한 변수 - false : 검증 성공, true : 검증 실패
if (kor > 100 || kor < 0) {
System.out.println("[에러] 0 ~ 100 범위를 벗어난 비정상적인 국어점수가 입력 되었습니다.");
// System.exit(0) - 둘다 에러일수있기때문에, 빼고 △ boolean 해줌
vaild = true;
}
if (eng > 100 || eng < 0) {
System.out.println("[에러] 0 ~ 100 범위를 벗어난 비정상적인 영어점수가 입력 되었습니다.");
// System.exit(0) - 둘다 에러일수있기때문에, 빼고 △ boolean 해줌
vaild = true;
}
if (mat > 100 || mat < 0) {
System.out.println("[에러] 0 ~ 100 범위를 벗어난 비정상적인 수학점수가 입력 되었습니다.");
// System.exit(0) - 둘다 에러일수있기때문에, 빼고 △ boolean 해줌
vaild = true;
}
if (vaild) System.exit(0); // 검증이 실행한 경우 프로그램 종료
int tot = kor + eng + mat;
double ave = tot/3.;
String grade = "";
switch ((int)ave/10) {
case 10:
case 9: grade = "A";
break;
case 8: grade = "B";
break;
case 7: grade = "B";
break;
case 6: grade = "B";
break;
default: grade = "F";
}
System.out.println("이름 = " + name + " , 총점 = " + tot + " , 평균 = " + (int)(ave*100) / 100. + " , 학점 = " + grade);
// (ave*100) 한 이유: 소수점으로 부터 2자리만 출력할거기때문.
이름 = 홍길동 , 총점 = 277 , 평균 = 92.33 , 학점 = A
For문
//본인 이름을 화면에 7번 출력하세요.
//ex) 홍길동 홍길동 홍길동 홍길동 홍길동 홍길동 홍길동
for (int i = 0; i < 7; i++) {
System.out.print("홍길동" + " ");
}
홍길동 홍길동 홍길동 홍길동 홍길동 홍길동 홍길동
// 1~10 범위의 정수 중 홀수를 화면에 출력하세요.
// ex) 1 3 5 7 9
for (int i = 1; i < 10 ; i+=2) {
System.out.print(i + "\t" );
}
1 3 5 7 9
// 1~100 범위의 정수에서 3의 배수들의 합계와 5의 배수들의 합계를 계산하여
// 3의 배수의 합계에서 5의 배수의 합계를 뺀 결과값을 출력하세요.
// ex) 결과 = 633
// int ioi = 0;
// for (int i = 0; i <= 100; i+=3 ) {
// ioi += i;
//
//
//
// for (int j = 0; j <= 100 ; j+= 5) {
// int joj = 0;
// joj += j;
//
// int ioj = 0;
// ioj = ioi - joj;
// System.out.println(ioj);
//
// // !!!!! 이거 어케하는거임??? 봐도봐도 모르겠음 !!
//
// }
// }
int tot3 = 0;
int tot5 = 0;
for (int i = 1; i < 100 ; i++) {
if (i%3 == 0)
tot3+= i;
if (i%5 == 0)
tot5+= i;
}
System.out.println( "결과 = " + (tot3 - tot5));
결과 = 733
//구구단 중 7단을 화면에 출력하세요.
//ex) 7 * 1 = 7
// 7 * 2 = 14
// ...
// 7 * 8 = 56
// 7 * 9 = 63
// int seven = 7;
// for (int i = 1; i < 10; i++) {
//
// int gobhagi = seven * =i;
//
// System.out.println( "7 x " + i + " = " + gobhagi);
//
// }
int dan = 7;
for (int i = 1; i <= 9; i++) {
System.out.println(dan + " * " + i + " = " + (dan * i));
7 * 1 = 7
7 * 2 = 14
7 * 3 = 21
7 * 4 = 28
7 * 5 = 35
7 * 6 = 42
7 * 7 = 49
7 * 8 = 56
7 * 9 = 63
//5!의 결과값을 출력하세요.(5! = 5 * 4 * 3 * 2 * 1)
//ex) 5! = 120
// for (int i = 5; i > 0 ; i--) {
//
// int pop = 1; // 0적는데 작동안되서; 1로 바꿈
// pop *= i;
//
// System.out.print(pop + "\\");
//
// // 어케하는건데.
// }
//
// 5\4\3\2\1\
int num = 5;
int fac = 1;
for (int i = num; i >= 1; i--) {
fac *= i;
}
System.out.println(num + "! = " + fac);
5! = 120
//두 변수에 저장된 정수값 사이의 정수들을 화면에 출력하세요.
//단, 한 줄에 정수값이 7개씩 출력되도록 프로그램을 작성하세요.
//ex) 36 27 38 39 40 41 42
// 43 44 45 46 47 48 49
// 50 51 52 53 54 55 56
// 57
int begin = 36;
int end = 57;
int count = 0; // 출력갯수를 저장할 변수
for (int i = begin; i <= end ; i++) {
System.out.print(i + "\t");
count++; // count를 1씩 증가
if (count%7 == 0) {
System.out.println();
}
}
System.out.println();
36 37 38 39 40 41 42
43 44 45 46 47 48 49
50 51 52 53 54 55 56
57
'3월 ~ 5월) 자바 > 숙쩨' 카테고리의 다른 글
16Day - DayCalculateApp / WantCalendarApp (0) | 2023.04.20 |
---|---|
15Day - ConsoleCalculateApp (0) | 2023.04.19 |
6Day - Array / UpAndDown (0) | 2023.04.04 |
5Day - Multfor 다중 for문 / InputCheck (0) | 2023.04.04 |
3Day - 타입변환/ 연산자와 연산식 (0) | 2023.04.01 |