웹_프론트_백엔드/단과

[단과_JAVA] 2020.02.06

shine94 2020. 2. 6. 19:53

1. 오늘 실습 코드

1) MethodTask

package day17;

public class MethodTask {
	/*
	//5개의 정수 중 최대값 최소값 -> 첫번째 방법, 리턴값 있음
	int[] getMaxAndMin(int[] arData) {
		int max = 0;
		int min = 0;
		
		max = arData[0];
		min = arData[0];
		int[] result = new int[2];
		
		for (int i = 1; i < arData.length; i++) {
			if(max < arData[i]) {
				max = arData[i];
			}
			if(min > arData[i]) {
				min = arData[i];
			}
		}
		result[0] = max;
		result[1] = min;
		
		return result;
	}
	*/
	
	//5개의 정수 중 최대값 최소값 -> 두번째 방법, 리턴값 없음
	//리턴값이 없기 때문에 리턴타입은 void
	void getMaxAndMin(int[] arData, int[] result) {
		//최대값
		result[0] = arData[0];
		//최소값
		result[1] = arData[0];
		
		for (int i = 1; i < arData.length; i++) {
			if(result[0] < arData[i]) {
				result[0] = arData[i];
			}
			if(result[1] > arData[i]) {
				result[1] = arData[i];
			}
		}
		
	}
	
	public static void main(String[] args) {
		MethodTask m = new MethodTask();
		int[] arData = {1, 5, 3, 2, 8};
		int[] result = new int[2];
		
		m.getMaxAndMin(arData, result);
		
		System.out.println("최대값 : " + result[0]);
		System.out.println("최초값 : " + result[1]);
		
		/*
		//첫번째 방법
		MethodTask m = new MethodTask();
		int[] arData = {1, 5, 3, 2, 8};
		
		int[] result = m.getMaxAndMin(arData);
		
		System.out.println("최대값 : " + result[0]);
		System.out.println("최초값 : " + result[1]);
		*/
		
	}
}

 

2) 항공관리프로그램(AMS)

** 아직 완성되지 않음, 다음 시간에 완성하기로 함 **

package ams;

public class AmsField {
	//항공기번호(PK), 항공사, 최대승객수, 출발지, 도착지
	
	//저장소(DB)
	String[][] arPlane = new String[100][5];
	int insertCnt;
	
	//추가
	boolean insert(String[] plane) {
		boolean check = false;
		
		//항공기 번호가 중복이 있는지 확인 후 없을 때 추가
		if(!checkDup(plane[0])) {
			arPlane[insertCnt] = plane;
			//항공기 추가 완료시 insertCnt 1증가
			insertCnt++;
			//추가 성공시 check를 true로 변경
			check = true;
		}
		
		return check;
	}
    
	//중복검사
	boolean checkDup(String plane_num) {
		//외부에서 항공기 번호를 전달받고 각 항공기별 항공기번호와 검사 후
		//중복이 있으면 true, 없으면 false를 리턴한다.
		boolean check = false;
		
		//추가된 비행기만큼만 반복한다.
		for (int i = 0; i < insertCnt; i++) {
			
			//항공기 번호(0열)만 검색하면 되기 때문에 열번호는 0으로 고정해준다.
			if(arPlane[i][0].equals(plane_num)) {
				check = true;
			}
		}
		return check;
	}
    
	//수정
	boolean update(String plane_num, int idx, String new_value) {
		//출발지 수정과 도착지 수정만 가능하므로 버튼이 2개밖에 없다.
		//idx에 들어올 값으로 출발지는 0, 도착지는 1이다.
		//0을 3열로 변경
		//1을 4열로 변경하려면 3을 더해주어야 한다.
		boolean check = false;
		idx += 3;
		
		//수정할 항공기 번호로 행번호를 가지고 온다.
		int rowNum = getRowNum(plane_num);
		
		//항공기 번호가 존재하지 않으면 rowNum에는 -1이 담긴다.
		if(rowNum != -1) {
			//수정할 항공기가 있으면 들어온다.
			arPlane[rowNum][idx] = new_value;
			check = true;
		}
		return check;
	}
	
	//삭제
	boolean delete(String plane_num) {
		boolean check = false;
		//삭제할 항공기 번호로 행 번호를 가지고 온다.
		int rowNum = getRowNum(plane_num); 
		//항공기 번호가 존재하지 않으면 rowNum에는 -1이 담긴다.
		if(rowNum != -1) {
			//삭제할 항공기가 있으면 들어온다.
			for (int j = rowNum; j < insertCnt; j++) {
				//삭제할 비행기 행부터 다음 행의 값을 반복해서 덮어 씌워준다.
				arPlane[j] = arPlane[j+1];
			}
			check = true;
			
			//삭제 성공시 비행기 총 대수를 1감소시킨다.
			insertCnt--;
		}
		return check;
	}
	
	//항공기번호로 행번호 알아내기
	int getRowNum(String plane_num) {
		int rowNum = -1;
		for (int i = 0; i < insertCnt; i++) {
			if(arPlane[i][0].equals(plane_num)) {
				rowNum = i;
				break;
			}
		}
		return rowNum;
	}
	
	//목록
	String selectAll() {
		String data = "";
		int cnt = 0;
		
		data = insertCnt == 0 ? "목록 없음" : "항공기번호/항공사/최대승객수/출발지/도착지\n";
		
		for (int i = 0; i < insertCnt; i++) {
			cnt ++;
			data += cnt + ". ";
			for (int j = 0; j < arPlane[i].length; j++) {
				data += arPlane[i][j] + " / ";
			}
			data += "\n";
		}
		return data;
	}
    
	//검색
	String select(int idx, String keyword) {
		String data = "";
		int cnt = 0;
        
		data = insertCnt == 0 ? "검색 결과 없음" : "항공기번호/항공사/최대승객수/출발지/도착지\n";
        
		for (int i = 0; i < insertCnt; i++) {
			if(arPlane[i][idx].equals(keyword)) {
				cnt++ ;
				data += cnt + ". ";
				for (int j = 0; j < arPlane[i].length; j++) {
					data += arPlane[i][j] + " / ";
				}
				data += "\n";
			}
		}
		return data;
	}
}

 

** 이미지 추가하기 **

① workspace -> AMS -> src 경로 안에 IMG 폴더 만들기

② 만든 IMG 폴더 안에 main.gif 파일 넣기

③ 다시 이클립스로 돌아와 F5를 눌러 새로고침하면 IMG폴더와 main.gif 파일을 확인 할 수 있음

'웹_프론트_백엔드 > 단과' 카테고리의 다른 글

[단과_JAVA] 2020.02.10  (0) 2020.02.11
[단과_JAVA] 2020.02.07  (0) 2020.02.10
[단과_JAVA] 2020.02.05  (0) 2020.02.06
[단과_Python] 2020.02.04  (0) 2020.02.05
[단과_JAVA] 2020.02.04  (0) 2020.02.05