티스토리 뷰

AWT 를 사용하여 강수량을 계산하는 프로그램입니다.


1. Rainfall.java


package Rain;

public class Rainfall {
	String year;// 연도
	String whether;// 기상현상
	int six, seven, eight, nine;// 6,7,8,9
	int sum;// 총강우량
	double avg;// 평균강우량

	public void SetRainfall(String y, String wh, int six, int seven, int eight, int nine) {
		this.year = y;
		this.whether = wh;
		this.six = six;
		this.seven = seven;
		this.eight = eight;
		this.nine = nine;
	}

	public Rainfall() {
	}

	public void gaesan() {
		sum = six + seven + eight + nine;
		avg = sum / 4.0;
	}

public void output(){
String out="";
out="년도= "+this.year+"6월="+this.six+"7월="+this.seven+"8월="+this.eight+"9월="+this.nine+"총강우량= "+sum+"평균="+avg;
return;
	}
}


2. Check.java


package Rain;

import java.awt.*;
import java.awt.event.*;

public class Check extends Frame implements ActionListener {

	Panel[] p = new Panel[4];
	Label[] la = new Label[7];
	TextField[] tf = new TextField[6];
	Rainfall[] rf = new Rainfall[10];

	TextArea ta = new TextArea(5, 20);
	Button[] bu = new Button[2];

	String[] laname = { "연도", "6월", "7월", "8월", "9월", "기상현상", "출력" };
	String[] btname = { "입력", "출력" };
	int count = 0;

	public Check(String t) {
		super(t);
		setSize(600, 600);

		for (int i = 0; i < p.length; i++) {
			p[i] = new Panel();

		}
		for (int i = 0; i < la.length; i++) {
			la[i] = new Label(laname[i]);
		}
		for (int i = 0; i < bu.length; i++) {
			bu[i] = new Button(btname[i]);
			bu[i].addActionListener(this);
			p[2].add(bu[i]);
		}
		for (int i = 0; i < tf.length; i++) {
			la[i] = new Label(laname[i]);
			tf[i] = new TextField(10);
			p[0].add(la[i]);
			p[0].add(tf[i]);
		}

		p[0].setBounds(20, 30, 150, 300);
		p[0].setBackground(Color.gray);
		add(p[0]);

		p[1].setBounds(200, 30, 200, 200);
		p[1].setBackground(Color.cyan);
		p[1].add(la[6]);
		p[1].add(ta);
		add(p[1]);

		p[2].setBounds(200, 300, 150, 100);
		p[2].setBackground(Color.GREEN);
		add(p[2]);

		setLayout(null);
		setVisible(true);
		addWindowListener(new MyListener());
	}

	public void actionPerformed(ActionEvent e) {
		Object o = e.getSource();
		int sum = 0;
		double avg = 0.0;

		if (o == bu[0]) {
			rf[count] = new Rainfall();
			rf[count].SetRainfall(tf[0].getText(), tf[1].getText(), Integer.parseInt(tf[2].getText()),
					Integer.parseInt(tf[3].getText()), Integer.parseInt(tf[4].getText()),
					Integer.parseInt(tf[5].getText()));
			for (int i = 0; i < tf.length; i++) { // 텍스트필드 입력란 초기화
				tf[i].setText("");
			}
			count++; // 카운트 추가
		} else if (o == bu[1]) {
			for (int i = 0; i < count; i++) {
				sum = rf[i].six + rf[i].seven + rf[i].eight + rf[i].nine;
				avg = (double) sum / 4.0;
				ta.append("해당년도" + rf[i].year + "\n");
				ta.append("총강우량" + sum + "\n");
				ta.append("평균강우량" + avg + "\n");
			}

		} else if (count == 10) {
			ta.setText("10번이상을 입력하여 에러입니다\n");
		} /*
			 * for(int i=0;i<4;i++){ if(tf[i]>=2000||tf[i]<=0)
			 * ta.setText("0이상 2000이하의 강수량을 입력하세요\n");
			 * 
			 * }
			 */
	}

	public void itemStateChanged(ItemEvent e) {
	}
}

3. Check_Test.java


package Rain;

public class Check_Test {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Check cha = new Check("강우량");
	}

}

4. MyListener.java


package Rain;

import java.awt.*;
import java.awt.event.*;

public class MyListener implements WindowListener {
	public void windowClosing(WindowEvent ev) {
		System.exit(0);
	}

	public void windowActivated(WindowEvent ev) {
	}

	public void windowClosed(WindowEvent e) {
	}

	public void windowDeactivated(WindowEvent e) {
	}

	public void windowDeiconified(WindowEvent e) {
	}

	public void windowIconified(WindowEvent e) {
	}

	public void windowOpened(WindowEvent e) {
	}

}


결과





'프로그래밍 > Java Programming' 카테고리의 다른 글

학생성적관리시스템 AWT  (0) 2018.04.07
자바 도서관리 AWT  (0) 2018.04.07
스레드 파일입력  (0) 2018.04.06
스레드 Thread 기본  (0) 2018.04.06
사원정보 및 월급 출력  (0) 2018.04.06
댓글
공지사항
글 보관함
최근에 올라온 글
최근에 달린 댓글