그전에 음식을 뭐뭐 주문했는지 표시하는거 넣기 전까진 성공함

근데 주문한 음식 목록을 출력하고 싶은데 이걸 출력하려고 좀 끼워넣었더니 에러났어...

빨간색으로 쓴 부분이 내가 새로 끼워넣었다가 에러난부분이야..


import java.util.Scanner; //Scanner를 쓰기 위해 해줌



public class project_01_2516 {


public static void main(String[] args) {

int sum=0; //음식값의 합계를 저장하기 위한 sum 변수를 선언하고 초기화.

int count=0;//음식 목록을 저장할때 쓰려고 만듦

String a[]=new String[count];//음식 목록을 저장할 배열

//메뉴판 프린트

System.out.println("****************************************************");

System.out.println("\t\t\t메뉴판");

System.out.println("****************************************************");

//이차원 배열 선언. 음식 이름과 가격이라는 두 가지 정보를 담고 있는 메뉴 10개를 입력하기 위한 10*2 배열 선언

String[][] menu= new String[10][2];

menu[0][0]="짜장면"; //이차원 배열에 메뉴 이름과 가격을 넣어줌.

menu[0][1]="3500"; //n행의 0번방에는 음식 이름,

menu[1][0]="짬뽕"; //1번방에는 가격을 넣어준다.

menu[1][1]="4000";

menu[2][0]="김밥";

menu[2][1]="1000";

menu[3][0]="케이크";

menu[3][1]="10000";

menu[4][0]="아이스크림";

menu[4][1]="3000";

menu[5][0]="족발";

menu[5][1]="12000";

menu[6][0]="불닭볶음면";

menu[6][1]="2000";

menu[7][0]="멕시칸바이트";

menu[7][1]="10000";

menu[8][0]="보신탕";

menu[8][1]="7000";

menu[9][0]="치즈떡볶이";

menu[9][1]="5000";

boolean signal; //while문을 돌리기 위해 boolean signal 변수를 만든다.

signal=true; //true 값을 대입하여 while문을 무한반복 할수 있게 한다.

while(signal){ //while문 무한반복

for(int i=0;i<menu.length;i++){ 

//i는 0, i가 배열 menu의 길이인 10보다 작은 수인 9가 될 때까지, i를 1씩 증가.

System.out.print("   "+ (i+1)+". "+ menu[i][0] + " "+ menu[i][1]);

//몇 번 메뉴인지, 메뉴 이름과 가격 표시

if((i+4)%3==0)

System.out.println();

//한 줄에 3개씩 표시하기 위해 써줌

}

for(int i=0;i<menu.length;i++){

//i는 0, i가 배열 menu의 길이인 10보다 작은 수인 9가 될 때까지, i를 1씩 증가.

Integer.parseInt(menu[i][1]);

//배열에는 같은 데이터형만 저장 가능하다. String 형으로 저장된 가격을 모두 int로 바꿔준다.

}

System.out.println();//보기 좋으라고 하는 엔터

System.out.println();//보기 좋으라고 하는 엔터

System.out.print("주문번호를 입력하세요 : ");

//주문번호 입력받기 위해 밑밥깔기

Scanner scan1 =new Scanner(System.in); 

//Scanner로 데이터 입력받기 위해 만들어줌

int n = scan1.nextInt();

//int n에 입력받은 정수 대입

if(n>menu.length){//입력받은 n이 10을 초과한다면 팔지 않음

System.out.println("그런거 안팜!");

continue;

}

else //그 외의 경우엔(입력받은 n값이 1~10 사이의 숫자일 경우)

System.out.print(n+". "+menu[n-1][0]);//메뉴명 출력

++count;

a[count-1]=(menu[n-1][0]);

System.out.println();//보기 좋으라고 하는 엔터

System.out.print("주문수량을 입력하세요 : ");//수량 입력받기 위한 밑밥깔기

Scanner scan2 =new Scanner(System.in); //주문수량 입력받기 위해 해줌

int m = scan2.nextInt();

sum+=Integer.parseInt(menu[n-1][1])*m;

//총 가격 표시하기 위해 sum에다 주문한 메뉴의 가격*입력받은 수량 을 더해줌.

System.out.println();//보기 좋으라고 하는 엔터

System.out.println("계속 주문하시겠습니까?(y or n) : ");

//y 또는 n을 입력받아 계속 할건지 말건지 하기 위해 쓰는 말.

Scanner scan3 =new Scanner(System.in); //이번엔 정수가 아닌 문자열을 입력받는다.

String s = scan3.next();

if(s.equals("n")) //만약 String형 변수 s에 들어있는 값이 문자열 n이면

signal=false; //signal에 false를 대입해 while 문을 빠져나온다.


}

System.out.print("주문하신 음식은 ");

for(int i=0;i<a.length;i++){

System.out.print(" " + a[i] + "입니다.");

}

System.out.println();

System.out.println("주문하신 음식값은 총 " + sum + "원 입니다.");

//while 문을 빠져나온 후 주문한 총 음식 가격을 알려준다.

}


}//끝