문제 3

다음 조건을 만족하는 Arr클래스를 작성하고 test클래스를 생성하세요.

  • Arr클래스는 int array를 변수로 갖는다.
  • Arr클래스는 array크기를 파라미터로 받아서 객체를 생성한다. 객체 생성시 사용자로부터 int array의 원소들을 입력받게 된다.
  • Arr클래스에는 max, min 함수를 이용해서 array의 웑소 중 가장 큰 원소와 가장 작은 원소를 출력하는 기능을 한다.
  • Arr클래스의 정적함수 avr은 2개의 Arr클래스, xrr, yrr을 parameter로 사용하여 xrr, yrr 속 array원소들의 평균을 출력하는 기능을 한다.

Answer

  • Arr.java
package practice6;

import java.util.Scanner;

public class Arr {
	int[] array;
	static int size;

	Arr(int size) {
		Scanner sc = new Scanner(System.in);

		this.size = size;
		array = new int[size];

		System.out.println("array의 원소를 입력하세요");
		for (int i = 0; i < size; i++)
			array[i] = sc.nextInt();
	}

	void max() {
		int tmp = array[0];
		for (int i = 0; i < size - 1; i++) {
			if (tmp < array[i + 1])
				tmp = array[i + 1];
		}
		System.out.println("array의 원소 중 가장 큰 원소는 " + tmp);
	}

	void min() {
		int tmp = array[0];
		for (int i = 0; i < size - 1; i++) {
			if (tmp > array[i + 1])
				tmp = array[i + 1];
		}
		System.out.println("array의 원소 중 가장 작은 원소는 " + tmp);
	}

	static void avr(Arr xrr, Arr yrr) {
		int sum_xrr = 0, sum_yrr = 0, avr_xrr = 0, avr_yrr = 0;

		for (int i = 0; i < size; i++)
			sum_xrr += xrr.array[i];
		for (int j = 0; j < size; j++)
			sum_yrr += yrr.array[j];

		avr_xrr = sum_xrr / size;
		avr_yrr = sum_yrr / size;

		System.out.println("xrr 속 array 원소들의 평균: " + avr_xrr);
		System.out.println("yrr 속 array 원소들의 평균: " + avr_yrr);
	}
}
  • test3.java
package practice6;

import java.util.Scanner;

public class test3 {
	public static void main(String args[]) {
		int size;

		Scanner sc = new Scanner(System.in);

		System.out.println("array의 크기를 입력하시오");
		size = sc.nextInt();

		Arr a1 = new Arr(size);
		Arr a2 = new Arr(size);
		a1.max();
		a1.min();
		a2.max();
		a2.min();

		Arr.avr(a1,a2);
	}
}

태그:

카테고리:

업데이트: