[Java] Mini Quiz : 함수

Young eee·2022년 12월 23일

Java

목록 보기
10/22
post-thumbnail

📌 Quiz 1.

  • 두 점 (x, y)와 (x1, y1)간의 거리를 구한다.
public static void main(String[] args) {

			System.out.println(getDistance(1,1,1,2));
		
	}
		static double getDistance(int x, int y, int x1, int y1) {
			double result, y_val, x_val;
			// 승수를 구하는 함수 Math.pow
			y_val = Math.pow((y1-y), 2);		//제곱
			x_val = Math.pow((x1-x), 2);
			// root를 구하는 함수 Math.sqrt
			result = Math.sqrt(y_val+x_val);	//루트
			return result;
		}
}

📌 Quiz 2.

  • 주어진 배열에 담긴 값의 위치를 바꾸는 작업을 반복하여 뒤섞이게 한다. 처리한 배열을 반환한다.
public static void main(String[] args) {
		
		int original[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
		System.out.println(Arrays.toString(original));
		
		int result[] = shuffle(original);
		System.out.println(Arrays.toString(result));
	}
	static int[] shuffle(int[] original) {
		int x, y, temp;
		
		for (int i = 0; i < original.length; i++) {
			x = (int)(Math.random()*original.length);
			y = (int)(Math.random()*original.length);
			
			//swap
			temp = original[x];
			original[x] = original[y];
			original[y] = temp;
		}
		return original;
	}
}

📌 Quiz 3.

  • 주어진 int형 배열의 값 중에서 제일 큰 값을 반환한다.
    만일 주어진 배열이 null이거나 크기가 0인 경우, -999999를 반환한다.
import java.util.Arrays;

public class s03 {
	public static void main(String[] args) {

		int[] data = {3,2,9,4,7};
		System.out.println(Arrays.toString(data));
		System.out.println("최대값:" + max(data));

	}
	static int max(int []arr) {
    	// 0으로 값을 넣게된다면 배열이 음수일 때 0만 나옴. 도망갈 수 없게 배열의 0번째를 초기값으로 입력
		int max = arr[0];=
		if (arr == null || arr.length == 0) {
			max = -999999;
		}else {
			for (int i = 0; i < arr.length; i++) {
				if (max < arr[i]) {
						max = arr[i];
				}
			}
		}
		return max;
	}
}

📌 Quiz 4.

  • 주어진 문자열이 모두 숫자로만 이루어져있는지 확인한다. 모두 숫자로만 이루어져 있으면 true를 반환하고, 그렇지 않으면 false를 반환한다.
    만일 주어진 문자열이 null이거나 빈 문자열“”이라면 false를 반환한다.
public static void main(String[] args) {

		String str = "123";
		System.out.println(str + "는 숫자입니까?" + isNumber(str));
		str = "1234o";
		System.out.println(str + "는 숫자입니까?" + isNumber(str));
	}

	static boolean isNumber(String str) {
		boolean result = true;
		// null, 공백
		if (str == null || str.length() == 0) {
			result = false;
		}else {
			for (int i = 0; i < str.length(); i++) {
				int c = (int)str.charAt(i);	// charAt() : 문자열의 i번째에 위치한 문자를 알 수 있는 함수
				//ASCII 코드값 사용
					if (c < 48 || c > 57) {
						result = false;
					}
			}

		}
		return result;
	}

📌 Quiz 5.

  • 배열의 값에 *2배의 연산된 값이 산출되도록 메소드를 작성하시오.
public static void main(String[] args) {

		int num[] = {1, 2, 3, 4, 5};
		getDouble(num);
		System.out.println(Arrays.toString(num));
	}
	static void getDouble(int arr[]) {
		for(int i = 0; i < arr.length; i++) {
			arr[i] = arr[i] * 2;
		}
	}

📌 Quiz 6.

  • 두 수를 나눗셈 연산으로 몫과 나머지를 구하는 메소드를 작성하시오.
public static void main(String[] args) {
		
		int num1, num2;
		int result, tag[];	//result = 몫, tag = 나머지
		
		num1 = 9;
		num2 = 2;
		tag = new int[1];
		
		result = getResult(num1, num2, tag);
		System.out.println("몫:" + result + " 나머지:" + tag[0]);
	
	}
	// TODO: 1번문제 -> TODO 사용 시 주석을 명확하게 해줘서 찾기 쉬워짐
	
	static int getResult(int num1, int num2, int tag[]) {
		
		int result = num1 / num2;
		tag[0] = num1 % num2;
		
		return result;
	}
	
}

0개의 댓글