국어 영어 수학 점수를 scanner 로 입력 받아.
평균과 학점을 출력 하는 프로그램을 짜시오.
단) Grade(국어,영어,수학) 클래스를 만들것.
============================
출력)
총점 : 240
평균 : 80
▼정답
import java.util.Scanner;
class Grade5 {
int kor, eng, math;
int sum;
double avg;
char grade;
Grade5(int kor, int eng, int math) {
this.kor = kor;
this.eng = eng;
this.math = math;
}
double avg() {
return (kor + eng + math) / 3.0;
}
int sum() {
return kor + eng + math;
}
char grade() {
grade = '가';
if (this.avg() >= 90) {
grade = '수';
} else if (this.avg() >= 80) {
grade = '우';
} else if (this.avg() >= 70) {
grade = '미';
} else if (this.avg() >= 60) {
grade = '양';
} else {
grade = '가';
}
return grade;
}
}
public class Test28 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("kor: ");
int str1 = sc.nextInt();
System.out.print("eng: ");
int str2 = sc.nextInt();
System.out.print("math: ");
int str3 = sc.nextInt();
Grade5 a = new Grade5(str1, str2, str3);
System.out.println("총점: " + a.sum());
System.out.println("평균: " + a.avg());
System.out.println("학점은 " + a.grade() + "입니다.");
}
}
▼정답
String str = "123";
값이 추가될 때마다 메모리 생성(불변)
StringBuilder sb = "123";
첫번째 메모리에 값을 그대로 덮어서 입력함(가변)
StringBuilder를 사용하면 메모리를 절약할 수 있다.
입력:abcde
출력:edcba
▼정답
public class Test29 {
public static void main(String[] args) {
StringBuilder stbuf = new StringBuilder("abcde");
stbuf.reverse(); // 문자열 내용 뒤집기
System.out.println(stbuf.toString());
}
}
…………………………………………………………………………………………………………………………………………………………………………
public class Test28 {
public static void main(String[] args) {
String eng = "abcde";
for (int i = eng.length(); i > 0; i--) {
System.out.print(eng.charAt(i - 1));
}
}
}
▼정답
-length() : 문자열의 길이를 구하는 함수
-substring() : str.substring(2);⇒ index(2) 이후의 내용으로 이뤄진 문자열을 반환
-concat() : 두 문자열을 이어주는 함수
-charAt() : String 문자열 중, 한 글자만 char 타입으로 바꾸는 함수
▼정답
▼정답
기본 자료형(int, boolean, double 등)의 값을 문자열 String 객체로 바꿔주는 함수
ex) String se = String.valueOf(2.11)
⇒ double 실수형이 아닌 string 문자열로 나옴(해당 아스키 코드 값에 대한 폰트를 뿌림)
String str = "age: " + 17;
▼정답
String str = "age: " + 17;
↓
String str = "age: ".concat(17);
↓
String str = "age: ".concat(String.valueOf(17));
.concat : 두 개의 문자열을 하나의 문자열로 만들어주는 함수
but 연결할 내용의 데이터 타입이 서로 다를 경우 둘 중 하나의 데이터 타입으로 컴파일러에 의해 자동 변형됨.