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 |