MethodShape04
메소드형식 4 : 매개변수와 반환값 있는경우
반환타임 메소드명(매개변수){
처리할일;
return 결과값;
}
가장 활용높음
문제1.인원 수를 매개변수로 전달받아 인원 수만큼 나이를 사용자로부터 입력받고
그 나이의 평균을 반환하는 메소드 정의
import java.util.Scanner;
public class MethodShape04 {
1.메소드 정의
static double getAverageOfAge(int personCount) {
Scanner sc = new Scanner(System.in);
int totalOfAge = 0 ;
2.인원 수 만큼 반복하면서 나이입력받기 그리고 totalOfAge에 누적
for(int i=0 ; i<personCount ; i++) {
System.out.println(i+1+"번째 나이 입력?");
totalOfAge += sc.nextInt();
}
3.평균구해서반환
return (double)totalOfAge/personCount;
}/////getAverage
문]매개변수로 두 숫자와 연산자(+,-,*,/)를 전달 받아서 그 결과값을 반환하는 메소드를 정의해라
그리고 main메소드에서 호출하여 그 결과값을 확인 하여라. 반환타입은 int형
static int yeonsan(int num1,int num2,char op) {
switch(op) {
case'+':return num1+num2;
case'-':return num1-num2;
case'*':return num1*num2;
case'/':return num1/num2;
default: return -2147483647 ; // int형의 최소값
}
}//// yeon
문)여러개 숫자 입력받아 최대값을 구하는 메소드를 정의하라
단 숫자의 개수는 매개변수로 전달받고 숫자의 개수만큼 사용자로부터 숫자를 입력(스캐너) 받아 최대값을 구해 그 최대값을 반환하는 메소드정의, 그리고 호출 최대값 출력
static int getMax(int numberCount) {
Scanner sc= new Scanner(System.in);
방법1.
int [] numbers = new int [numberCount] ;
for(int i=0;i < numbers.length ;i++ ) {
System.out.println(i+1+"숫자 입력?");
numbers[i]=sc.nextInt();
}
int max = numbers[0];
for(int i=0;i < numbers.length ;i++ ) {
if(max< numbers[i]) max = numbers[i];
}
return max;
}
방법2. 배열사용
int max=0; //max 변수선언과 초기화
int [ ] numbers = new int [numberCount];
for(int i=0;i < numbers.length ;i++ ) {
System.out.println(i+1+"숫자 입력?");
numbers[i]=sc.nextInt();
if( i == 0 ) max = numbers[i]; //첫번째 입력값을 max에 저장한 후 비교시작 함
else if(max< numbers[i]) max = numbers[i];
}
return max;
}
public static void main(String[] args) {
메소드 호출
System.out.printf("나이평균:%.1f%n",getAverageOfAge(3));
int returnValue = yeonsan(10,10,'-');
if(returnValue==0) System.out.println("잘못된연산자입니다.");
else System.out.println("연산결과는"+returnValue);
System.out.println("최대값:"+getMax(5));
}//////main
}////class
'학원 > JAVA' 카테고리의 다른 글
9.22 7-6일 차 CallByRefExample (1) | 2022.09.23 |
---|---|
9.22 7-5일 차 CallByvalueNReference (0) | 2022.09.22 |
09.22 7-3일 차 MethodShape03 (1) | 2022.09.22 |
9.22 7-2일 차 MethodShape02 (0) | 2022.09.22 |
9.22 7-1일 차 MethodShape01 (1) | 2022.09.22 |