버스정류장 위치를 검색하여 해당 버스정류장에 정차하는 버스를 검색하면 해당 버스의 배차시간을 알려주는 프로그램이다.
package march;
import java.util.Scanner;
public class Bus_system {
public static void main(String[] args)
{
//버스정류장
String bus_sta;
String[] bus_station = {"Jinhae","Masan","Changwon"};
//버스번호
int bus_num;
int[] bus_num_J = {155,757,860};
int[] bus_num_M = {21,10,30};
int[] bus_num_C = {103,109,127};
//배차시간
String bus_time;
String[] BT1 = {"20~25","40~45","50~55"};
String[] BT2 = {"10~15","30~45","20~40"};
String[] BT3 = {"5~15","20~35","45~50"};
System.out.println("<Bus Info System>");
System.out.println("*Jinhae* *Masan* *Changwon*");
while(true)
{
//어디 버스정류장 확인(없는 버스정류장이면 질문 반복)
System.out.printf("Enter bus staion location : ");
Scanner sc = new Scanner(System.in);
Scanner ner = new Scanner(System.in);
bus_sta = sc.nextLine();
if(bus_sta.equals(bus_station[0]))//0=진해 선택, 문자열 타입 => equals
{
while(true)
{
System.out.println();
System.out.println("Jinhae Selected");
System.out.println();
//버스 선택시 배차시간 확인(없는 버스면 질문 반복)
System.out.println("*155,757,860*");
System.out.printf("Enter bus number : ");
bus_num = ner.nextInt();
System.out.println();
if(bus_num == bus_num_J[0])//정수타입 => 기호연산자( == )
{
System.out.printf("Bus %d dispatch time is "+ BT1[0] + " minutes\n", bus_num_J[0]);
break;
}
else if(bus_num == bus_num_J[1])
{
System.out.printf("Bus %d dispatch time is "+ BT1[1] + " minutes\n", bus_num_J[1]);
break;
}
else if(bus_num == bus_num_J[2])
{
System.out.printf("Bus %d dispatch time is "+ BT1[2] + " minutes\n", bus_num_J[2]);
break;
}
else
{
System.out.println();
System.out.println("[Error!]");
System.out.println("Wrong Bus Number! Check Again!");
}
}
break;
}
else if(bus_sta.equals(bus_station[1]))// 1=마산선택
{
while(true)
{
System.out.println();
System.out.println("Masan Selected");
System.out.println();
//버스 선택시 배차시간 확인(없는 버스면 질문 반복)
System.out.println("*21,10,30*");
System.out.printf("Enter bus number : ");
bus_num = ner.nextInt();
System.out.println();
if(bus_num == bus_num_M[0])//정수타입 => 기호연산자( == )
{
System.out.printf("Bus %d dispatch time is "+ BT2[0] + " minutes\n", bus_num_M[0]);
break;
}
else if(bus_num == bus_num_M[1])
{
System.out.printf("Bus %d dispatch time is "+ BT2[1] + " minutes\n", bus_num_M[1]);
break;
}
else if(bus_num == bus_num_M[2])
{
System.out.printf("Bus %d dispatch time is "+ BT2[2] + " minutes\n", bus_num_M[2]);
break;
}
else
{
System.out.println();
System.out.println("[Error!]");
System.out.println("Wrong Bus Number! Check Again!");
}
}
break;
}
else if(bus_sta.equals(bus_station[2]))//2=창원
{
while(true)
{
System.out.println();
System.out.println("Changwon Selected");
System.out.println();
//버스 선택시 배차시간 확인(없는 버스면 질문 반복)
System.out.println("*103,109,127*");
System.out.printf("Enter bus number : ");
bus_num = ner.nextInt();
System.out.println();
if(bus_num == bus_num_C[0])//정수타입 => 기호연산자( == )
{
System.out.printf("Bus %d dispatch time is "+ BT3[0] + " minutes\n", bus_num_C[0]);
break;
}
else if(bus_num == bus_num_C[1])
{
System.out.printf("Bus %d dispatch time is "+ BT3[1] + " minutes\n", bus_num_C[1]);
break;
}
else if(bus_num == bus_num_C[2])
{
System.out.printf("Bus %d dispatch time is "+ BT3[2] + " minutes\n", bus_num_C[2]);
break;
}
else
{
System.out.println();
System.out.println("[Error!]");
System.out.println("Wrong Bus Number! Check Again!");
}
}
break;
}
else
{
System.out.println();
System.out.println("[Error!]");
System.out.println("Location is over then changwon!");
break;
}
}
System.out.println("Thank you For using this service");
}
}
결과값은 다음과 같이 출력된다.
<Bus Info System>
*Jinhae* *Masan* *Changwon*
Enter bus staion location : Jinhae
Jinhae Selected
*155,757,860*
Enter bus number : 757
Bus 757 dispatch time is 40~45 minutes
Thank you For using this service
클래스를 학습하면 좀 더 깔끔하게 프로그램을 다듬을 수 있을것 같다.
'Java > Codes' 카테고리의 다른 글
함수를 사용하여 사칙연산 계산기 만들기 (0) | 2022.03.14 |
---|---|
2022 대선 투표 프로그램 (0) | 2022.03.14 |
함수를 이용한 구구단 제작 (0) | 2022.03.14 |
1차원 배열의 최대 값, 최소 값을 합하기 (0) | 2022.03.14 |
2차원 배열을 사용한 학생정보 시스템 (0) | 2022.03.08 |