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

+ Recent posts