본문으로 건너뛰기
노리터
여기 사실 휴대폰 커뮤니티임.성지 시세, 알뜰폰 요금 비교표직접 모아 가격순으로 보여줌10-14 확인 · 판매처 55곳 · 요금제 3,344개

자유게시판

아 졸라 졸리다

import java.io.*;
public class Jeju{

/* 2차배열 표==================
* 항공 숙박 관광 렌트카 option
16만 7만 5만 7만 option_price
* 0or99 0or1 0or1 0or1 option_boolean
*=============================

* 이름-name
* 연락처-phone_number
* 패키지내역- 항공권은 무조건 사야함
* 여행일자-period
* 인원(항공료에만반영)-num_people

*/
String option[]={"항공권","숙박","관광","렌트카"};
BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
int option_price[]={160000,70000,50000,70000};
int option_boolean[]={1,0,0,0};
String name,phone_number; //이름,전화번호
int period,num_people,inputed_option;//기간,인원수,입력된옵션번호,총금액
String yesorno;

//잘못된 입력값을 걸러준다.////////////////////
int readlineProcess(String a,int arraylength) throws IOException{

int b=0;
if(a.equals("n")){return 999; // n 값을 입력받으면 다음으로 넘어감
}else{b=Integer.parseInt(a);

if (b>0&&b<arraylength+1){return b;
}else{System.out.println("장난치면 시베리아로 휴가간다");
return 99;}
}
}

void greet() throws IOException{
System.out.println("여행 사이트 예약 프로그램");
System.out.println("== 옵션 목록 ==");
System.out.println("항공권(왕복) 160000원");
for(int i=1;i<option.length;i++){
System.out.printf("%s(1일) %d원\n",option[i],option_price[i]);
}
}

void inputOption() throws IOException{

System.out.println("==== 선택하신 옵션 =====");

for(int i=0;i<option_price.length;++i){ // 선택된 옵션이 있으면 보여줌
if(option_boolean[i]%2==1){ // option_boolean 이 홀수면 보여줌
System.out.print(option[i]+"\t");}
}
System.out.println("\n=====================");
System.out.println("옵션을 선택해 주세요.");
System.out.println("추가/삭제 1.항공권(불가) 2.숙박 3.관광 4.렌트카 n.입력완료");

inputed_option=readlineProcess(in.readLine(),option.length);

if (inputed_option==1){System.out.println("배타고 갈거냐?");inputed_option--;}// 항공권은 추가삭제 불가

if(inputed_option!=999||inputed_option==1){ //n값을 받아 readlineProcess반환값이 999가 아니거나 1이면 루프
for(int i=0;i<option_price.length;++i){
if(i==inputed_option-1){option_boolean[i]++;} // 짝수or 홀수로 만듦
}
inputOption();}//루프
}

void inputDetail() throws IOException{

System.out.println("귀하의 성함을 입력해 주세요");
name=in.readLine();
System.out.println("전화번호를 입력해 주세요");
phone_number=in.readLine();

phonenumProcess();

System.out.println("여행하실 기간을 입력해 주세요(최대10일)");
period=readlineProcess(in.readLine(),10);
System.out.println("몇 명이서 가실거심??(4인까지 가능)");
num_people=readlineProcess(in.readLine(),4);
}

void phonenumProcess()throws IOException{
String ptemp[]=new String[2];
StringBuffer sb=new StringBuffer();
StringBuffer sb2=new StringBuffer();

String temp[]=phone_number.split(" "); //011 1111 1111 형식의 전화번호를 나눔

if(temp.length>1){ //나눠졌을 때
for(int i=0;i<temp.length;i++){
sb.append(temp[i]);if(i<temp.length-1)sb.append("-"); // 나눠진 배열+ "-" + 다음배열....
}
phone_number=sb.toString();
}//if

String temp2[]=phone_number.split("-"); // -가 있는 형식이면 그냥 내보내려함
if(temp2.length<2&&phone_number.length()>9){ // 나눠진 배열이 2보다 작으면 -가 없는것이므로 진행
ptemp[0]=phone_number.substring(phone_number.length()-4); // 끝네자리
System.out.println(ptemp[0]+" "+phone_number.length());
switch(phone_number.length()-4){
case 7:ptemp[1]=phone_number.substring(phone_number.length()-8,phone_number.length()-4);break; // 남은자리수가 7이면 중간자리 4개잘라냄
case 6:ptemp[1]=phone_number.substring(phone_number.length()-7,phone_number.length()-4);break;
default:ptemp[1]="false"; // 형식을 모르겠으면 그냥 출력
}

if (!ptemp[1].equals("false")){ // 형식을 모르겠으면 그냥 출력
sb2.append(phone_number.substring(0,3)); //붙이기
sb2.append("-");
sb2.append(ptemp[1]);
sb2.append("-");
sb2.append(ptemp[0]);
phone_number=sb2.toString();
}
}

}

void result(){
System.out.println("=="+ name +"님 께서 입력하신 내용 ==");
System.out.println("===== 옵션 =====");
for(int i=0;i<option_price.length;++i){ // 선택된 옵션이 있으면 보여줌
if(option_boolean[i]%2==1){ // option_boolean 이 홀수면 보여줌
System.out.println(option[i]);}
}
System.out.println("====================\n전화번호\t"+phone_number+"\n여행기간\t"+period+"\n인원수\t"+num_people);

////////// 총 금액 계산 /////////////
int price_total=0; // 재시작할 때 초기화 하기 귀찮으므로 여기다 선언
for(int i=1;i<option.length;i++){ //선택되어진 옵션의 금액만 더한다.
if(option_boolean[i]%2==1){price_total+=option_price[i];}
}
price_total*=period; // 선택된 옵션금액에 여행기간을 곱한다.
price_total+=num_people*160000; //위에 인원수*항공권값을 더한다.
/////////////////////////////////////

System.out.println("결제하실 금액: "+price_total+" 원");

}

void callOrDie() throws IOException{

System.out.println("처음부터 다시할거에요?(Y) 아니면 끝내고 입금할거에요?(N)");

yesorno=in.readLine();
if(yesorno.equals("n")||yesorno.equals("N")){System.out.println("돈 빨리 입금하시고 안녕히가세요.");
}else{if(yesorno.equals("y")||yesorno.equals("Y"))
{loop();
}else{System.out.println("똑바로 입력해라");callOrDie();}
}

}

void loop() throws IOException{
inputOption();
inputDetail();
result();
callOrDie();
}
public static void main(String[] args) throws IOException{

Jeju a=new Jeju();
a.greet();
a.loop();
}

}

 

// 내장메서드 될 수 있는한 사용말래서 개고생

수정
신고
그분
Signature

먹이를 찾아 산기슭을 어슬렁거리는 하이에나를 본 일이 있는가 짐승의 썩은 고기만을 찾아다니는 산기슭의 하이에나 나는 하이에나가 아니라 표범이고 싶다 산정 높이 올라가 굶어서 얼어죽는 눈 덮인 킬리만자로의 그 표범이고 싶다 ㅇㅇ

스크랩

댓글 1

  1. 주줌

    시베리아로 휴갘ㅋㅋㅋㅋ

    답글
    신고

댓글 작성

로그인 후 댓글을 작성할 수 있음.로그인

기타 · 파일당 최대 1 MB

자유게시판

번호제목작성자작성일조회추천
388872요즘 실황 파워풀프로야구포터블4를 하는데(1)BeWithU조회181추천0
388869륙흐 전에 c 말야(4)그분조회222추천0
388848알바짱 알바말듣고 고침 근데 이어폰덕후들좀 봐주셈(1)또깝친다조회175추천0
388841홀홀이는알바조회150추천0
388831이생퀴들아 웃지말고 도와줘 왜이러지?(4)또깝친다조회164추천0
388816어제 삼국지10은(3)사이도조회154추천0
388805휴가나온 홀홀님이 해야할일.(2)사이도조회158추천0
388774공익하니깐 생각난건데(2)그분조회167추천0
388771주줌근데 언제 소집해제 하냐?(2)그분조회183추천0
388756아 졸라 졸리다(1)그분조회171추천0
388751아 개빡치네 sk(1)도적조회133추천0
388744님들 저왔음(1)도적조회144추천0
388739꼬부기(1)꼬부기조회136추천0
388730둥글게둥 글게(3)當_當조회141추천0
388727친한 형이 철원에 사는데..그분조회144추천0
388718다음대선때 이변이없다면또깝친다조회120추천0
388676왁스바르다가 망해서또깝친다조회129추천0
388657야갤러는 여기 안오네(2)또깝친다조회110추천0
388646아오.(3)홀홀조회104추천0
388626몽질십덕없냐?또깝친다조회97추천0