Java 6강

말하는 감자·2023년 3월 21일
post-thumbnail

2023-03-16


자바에서 함수를 정의하는 방법

  • 반환값이 있을 때

  • 반환값이 없을 때

구조적인 프로그래밍 #Bottom Up


  • 성적 입력 받는 부분 함수화

	static void 성적입력() {
		Scanner scan = new Scanner(System.in);
		
		System.out.println("┌──────────────────┐");
		System.out.println("│     성적 입력            │");
		System.out.println("└──────────────────┘");
		System.out.println();
		
		for(int i = 0; i < 3; i++)
		{
			do 
			{
				System.out.printf("국어%d : ", i+1);
				kors[i] = scan.nextInt();
				
				if(kors[i] < 0 || 100 < kors[i])
				{
					System.out.println("국어성적은 0~100까지의 범위만 입력이 가능합니다.");
				}
			}while(kors[i]<0 || 100 < kors[i]);
		}
		
		System.out.println("────────────────────────");
	}

}
  • 전역변수 선언 : mian 함수 밖에서 static int[] kor = new int[3];

  • 성적 입력 출력 구조적 프로그래밍

package part2.ex1.성적입력부분나누기;

import java.util.Scanner;

public class Program {
	

	static int[] kors = new int[3];

	public static void main(String[] args) {
		
		
		int menu;
		boolean keepLoop = true;
		
		while(keepLoop)
		{
			menu = 메뉴입력();
			switch(menu)
			{
			case 1:
				성적입력();
				break;
				
			case 2:
				성적출력();
				break;
			case 3:
				System.out.println("Bye~~");
				
				keepLoop = false;
				break;
				
			default:
				System.out.println("잘못된 값을 입력하셨습니다. 메뉴는 1~3까지입니다.");
			}
		}

	}
	static void 성적입력() {
		Scanner scan = new Scanner(System.in);
		
		System.out.println("┌──────────────────┐");
		System.out.println("│     성적 입력            │");
		System.out.println("└──────────────────┘");
		System.out.println();
		
		for(int i = 0; i < 3; i++)
		{
			do 
			{
				System.out.printf("국어%d : ", i+1);
				kors[i] = scan.nextInt();
				
				if(kors[i] < 0 || 100 < kors[i])
				{
					System.out.println("국어성적은 0~100까지의 범위만 입력이 가능합니다.");
				}
			}while(kors[i]<0 || 100 < kors[i]);
		}
		
		System.out.println("────────────────────────");
	}
	
	static void 성적출력() {
		int total = 0;
		float avg;
		
		for(int i = 0; i < 3; i++)
		{
			total += kors[i];
		}
		avg = total / 3.0f;
		
		System.out.println("┌──────────────────┐");
		System.out.println("│     성적 출력            │");
		System.out.println("└──────────────────┘");
		System.out.println();
		
		for(int i = 0; i < 3; i++)
		{
			System.out.printf("국어 %d : %3d\n", 3-i, kors[i]);
		}
		System.out.printf("총점 : %3d\n", total);
		System.out.printf("평균 : %6.2f\n", avg);
		System.out.println("────────────────────────");
		
	}
	
	static int 메뉴입력() {
		Scanner scan = new Scanner(System.in);
		
		System.out.println("┌──────────────────┐");
		System.out.println("│     메인 메뉴            │");
		System.out.println("└──────────────────┘");
		System.out.println("\t1. 성적입력 ");
		System.out.println("\t2. 성적출력 ");
		System.out.println("\t3. 종료 ");
		System.out.println("\t선택> ");
		int menu = scan.nextInt();
		
		return menu;
		
	}

}

함수의 고립화


  • 함수 매개변수 선언
static void 성적출력(int[] kors)

0개의 댓글