개발자
[java 5일차]파라미터 좀 더 이해해보기 본문
학생정보 출력해보기
<Mian>
1
2
3
4
5
6
7
8
9
|
Scanner sc = new Scanner(System.in);
System.out.println(">> 첫번째 학생의 성적정보를 입력하세요 <<");
Sungjuk lssSj =new Sungjuk();
lssSj.registerInfo(sc); //메소드 메인에서 sc만들어서 메소드로 넘겨준다
System.out.println("총점 : "+lssSj.total()+" , 평균 : "+lssSj.avg()+" , 학점 : "+lssSj.hakjum());
lssSj.showInfo();
|
cs |
1. registerInfo(sc) 메소드 // <main>에서 파라미터로 sc를 넘겨주고 <Sungjuk>클래스에서 sc를 파라미터로 받는다
(정보를 스캐너로 입력받기 위해서 main에서 입력 sungjuk클래스에서 메소드를 실행)
메소드 및 출력 결과
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
void registerInfo(Scanner sc) { //입력기능
int flag = 0;
try {
System.out.print("1. 학번 : ");
hakbun = sc.nextLine(); // 필드값 hakbun이 null이니까 내가 입력해준 값으로 바꿔주기
System.out.print("2. 성명 : ");
name = sc.nextLine();
System.out.print("3. 국어 : ");
kor = Integer.parseInt(sc.nextLine()); //정수값으로 바꿔주기 integer.parseInt();\
flag = 1;
// int flag =1; 지역변수되니까 try 밖으로 빼주기
System.out.print("4. 영어 : ");
eng = Integer.parseInt(sc.nextLine());
flag =2;
System.out.print("5. 수학 : ");
math = Integer.parseInt(sc.nextLine());
//수학은 마지막과목이니까 굳이 flag 사용 X
}catch(NumberFormatException e) {
String subject = ""; //지역변수안되게 if에서 빼주기
if(flag == 0) {
subject = "국어";
}
else if(flag == 1) {
subject = "영어";
}
else if(flag == 2) {
subject = "수학";
}
System.out.println(">>" +subject+ "과목은 정수로 입력해야 합니다!!<<\n");
}
/*
1. 학번 : 091234 엔터
2. 성명 : 이순신엔터
2. 국어 : 90 엔터
4.영어 : 100엔터
5.수학 : 80엔터
*/
} //end of registerInfo(Scanner sc)--
|
cs |
2. total, avg, hakjum 메소드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
// 총점을 리턴시켜주는 메소드
int total() {
return kor+eng+math;
} //end of int total()---------------
// 평균을 리턴시켜주는 메소드
double avg() {
return total()/3.0;
} // end of double avg()----------
// 학점 리턴
char hakjum() {
double avg = avg();
char result = ' '; //공백
if (avg >= 90) {
result = 'A';
}
else if (avg >= 80) {
result = 'B';
}
else if (avg >= 70) {
result = 'C';
}
else if (avg >= 60) {
result = 'D';
}
else {
result = 'F';
}
return result;
} // end of char hakjum()------------
|
cs |
3.showInfo() 메소드
1
2
3
4
5
6
7
8
9
10
11
12
13
|
void showInfo( ) { //출력기능
System.out.println("\n====== 님 성적정보 ======\n"
+"1.학번 : " + hakbun + "\n"
+"2.성명 : " + name + "\n"
+"3.국어 : " + kor + "\n"
+"4.영어 : " + eng + "\n"
+"5.수학 : " + math + "\n"
+"6.총점 : " + total() + "\n"
+"7.평균 : " + avg() + "\n"
+"8.학점 : " + hakjum() + "\n");
} //end of void showInfo()-
|
cs |
'개발자 > JAVA' 카테고리의 다른 글
[java 7일차] for문/trim/isEmpty/isdigit/유효성검사(숫자,오류횟수,비밀번호) (0) | 2022.08.15 |
---|---|
[JAVA 6일차]wrapper/tpUppercase/chatAt/Math(반올림등)/equals/switch (0) | 2022.08.15 |
[JAVA 4일차]연산자(산술,증감,논리,비교,할당,삼항)/연산메소드/Scanner/try catch(예외)/Integer(변환)/NumberFormatExceptio (0) | 2022.08.15 |
[JAVA 3일차]파라미터,생성자/필드값변경/Casting (0) | 2022.08.15 |
[JAVA 2일차]메소드,지역변수/현재시각 메소드/자료형,초기화,변수 선언,형변환/import(아직) (0) | 2022.06.24 |