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

자유게시판

아 졸라 졸리다

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