본문 바로가기

국비지원 복습

9일차

메서드 마지막

temp이용하여 값 살리기

랜덤함수 이용해서 숫자 맞추기

package com.day9;
import java.util.*;
public class SelectNum {
	public static int selectNum() {
		int num = (int)(Math.random()*100+1);
		return num;
	}
	public static int selectNum2(int start, int end) {
		int num = (int)(Math.random()*(end-start+1)+start);
		return num;
	}
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("1~100 사이 숫자를 입력하세요");
		String result = "";
		int selectNum = selectNum2(1,100);
		//System.out.println(selectNum);
		for(int i = 1; i <= 4; i++) {
			int num = sc.nextInt();
			if(!(num == selectNum)) {
				if(i == 4) {
					result = "실패";
					System.out.println(result);
				}
				else {
					if(num > selectNum) {
						result = "좀 더 작은 숫자를 입력";
						System.out.println(result);					
					}
					else if(num < selectNum) {
						result = "좀 더 큰 숫자를 입력";
						System.out.println(result);
						
					}
				}
			}
			else {
				result = "정답";
				System.out.println(result);
				break;
			}
		}
	}
}

재귀함수 예 팩토리얼

package com.day9;
//재귀함수
import java.util.*;
public class RecursiveCall {
	// f(n) = n*(n-1)*(n-2)...*1
	public static int factorial(int n) {
		int result = 0;
		if(n==1) {
			result = 1;
		} else {
			result = n*factorial(n-1);
		}
		return result;
	}
	public static void main(String[] args) {
		int res = factorial(4);
		System.out.println("4! : "+ res);
	}
}

피보나치 수열

package com.day9;
import java.util.*;
public class Fibonacci {
	public static int fib(int n) {
		int result = 0;
		if(n == 0) {
			result = 0;
		}
		else if(n == 1) {
			result = 1;
		}
		else {
			result = fib(n-2)+fib(n-1);
		}
		return result;
	}
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("값 입력");
		int res = sc.nextInt();
		for(int i = 0; i < res; i++) {
			System.out.print(fib(i));
			if(i != res-1) {
				System.out.print(", ");
			}
		}
	}
}

오버로딩

package com.day9;

public class Overloading {
//메서드 이름이 같으나 매개변수가 다른 메서드
//오버로딩 메서드를 사용하는 이유 자료형이나, 매개변수 개수가 다르다고
//매번 새로운 매서드를 만들경우 복잡함
	public static int add(int a, int b) {
		return a+b;
	}
	public static double add(double a, double b) {
		return a+b;
	}
	public static String add(String a, String b) {
		return a+b;
	}
	public static int add(int a, int b, int c) {
		return a+b+c;
	}
	// 반환타입 신경안써도 됨.
	// 매개변수에 들어가는 값, 개수와 자료형만
	public static void main(String[] args) {
		int result = add(5,8);
		
		double d1 = 3.14, d2 = 5.67;
		double res = add(d1, d2);
		
		String s1 = "java", s2 = "Spring";
		String str = add(s1, s2);
		
		System.out.println(result);
		System.out.println(res);
		System.out.println(str);
	}
}

면적구하기 오버로딩(사각형, 원)

package com.day9;

import java.util.*;
public class Area {
	public static double area(int a, int b) {
		double area = a*b;
		return area;
	}
	public static double area(int a) {
		double area = 3.14*a*a;
		return area;
	}
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("가로,세로,반지름 입력");
		int w = sc.nextInt();
		int h = sc.nextInt();
		int r = sc.nextInt();
		double areaS = area(w,h);
		double areaC = area(r);
		System.out.println("사각형 면적 : "+areaS+"\n원의 면적 : "+areaC);
	}
}

배열

package com.day9;

public class ArrayTest1 {

	public static void main(String[] args) {
		// 배열 선언, 메모리할당, 초기화 따로
		int [] arr;
		arr = new int[3];
		arr[0] = 10;
		arr[1] = 20;
		arr[2] = 30;
		// 선언, 메모리할당 한번에
		int[] arr2 = new int[2];
		arr2[0] = 5;
		arr2[1] = 6;
		// 다 한번에
		int[] arr3 = {10,20,30};
		// or
		int[] arr4 = new int[] {20,30,40};
		
		int[] arr5;
		arr5 = new int[] {10,30,70};
		
		//배열 요소 출력
		for(int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}
}

배열 연습1

package com.day9;

public class ArrayTest2 {

	public static void main(String[] args) {
		int[] score = {90, 88, 75, 97, 66, 81, 100};
		
		for(int i = 0; i < score.length; i++) {
			System.out.println(score[i]);
		}
		
		System.out.println("\n5점 가산후");
		for(int i = 0; i < score.length; i++) {
			score[i] += 5;
			if(score[i] >= 100) {
				score[i] = 100;
			}
			System.out.println(score[i]);
		}
	}

}

배열 연습2 평균 구하기

package com.day9;

public class ArrayTest3 {

	public static void main(String[] args) {
		float[] arr;
		arr = new float[3];
		arr[0] = 12.5f;
		arr[1] = -24.3f;
		arr[2] = 0.76f;
		
		double[] arr1 = {70.2, 80.1, 99.6, 100, 77.3};
		double sum = 0, avg = 0;
		for(int i = 0; i < arr1.length; i++) {
			sum += arr1[i];
		}
		avg = sum/arr1.length;
		System.out.println("총점 : "+sum+"\n평균 : "+avg);
		System.out.println(Math.round(avg*10)/10.0);
	}

}

연습3

package com.day9;
import java.util.*;
public class ArrayTest4 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		/*
		int[] arr = new int[5]; // 5, 10, 15, 20, 25
		for(int i = 0; i < arr.length; i++) {
			arr[i] = 5*(i+1);
			System.out.println(arr[i]);
		}
		*/
		System.out.println("실수 4개 입력");
		double[] arr1 = new double[4];
		for(int i = 0; i < arr1.length; i++) {
			arr1[i] = sc.nextDouble();	
		}
		for(int i = 0; i < arr1.length; i++) {
			System.out.println(arr1[i]);
		}
	}
}

연습4

package com.day9;
import java.util.*;
public class ArrayTest4 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		/*
		int[] arr = new int[5]; // 5, 10, 15, 20, 25
		for(int i = 0; i < arr.length; i++) {
			arr[i] = 5*(i+1);
			System.out.println(arr[i]);
		}
		*/
		System.out.println("실수 4개 입력");
		double[] arr1 = new double[4];
		for(int i = 0; i < arr1.length; i++) {
			arr1[i] = sc.nextDouble();	
		}
		for(int i = 0; i < arr1.length; i++) {
			System.out.println(arr1[i]);
		}
	}
}

'국비지원 복습' 카테고리의 다른 글

12일차  (0) 2021.09.17
10일차  (0) 2021.09.15
8일차  (0) 2021.09.13
7일차  (0) 2021.09.13
6일차  (0) 2021.09.09