2017-01-25 12 views
0

자바 클래스의 데이터 구조와 알고리즘의 경우 항목 이름과 가격에 대한 사용자 입력을 받아 가격을 평균하는 프로그램을 작성하도록 지정되었습니다. 나는 성공적으로 작업을 마쳤지 만, 프로그램의 특정 사양에 큰 문제가 있습니다. 프로젝트를 종결시키는 감시 번호 (-1). 여기에 제 코드가 있습니다. 문제가 무엇인지 설명해 드리겠습니다. if 문장의 센티넬 번호

while(true){ 
     System.out.print("Enter item " + (count + 1) + " name: "); // enter name 
     names[count] = in.next(); // next string becomes count index 
     System.out.print("Enter item " + (count + 1) + " price: "); // enter price 
     prices[count] = in.nextDouble(); // stores price entered as array index 
     if(prices[count] == -1) break; // if next price == -1 // the code i want to change. 
     if(names[count].equalsIgnoreCase("peas")) flag = true; 
     average += prices[count]; 
     count++; 
    } 

그래서, 내 문제는 : 나는 "더미"항목 이름을 입력 한 다음 (센티넬 번호를 입력 할 필요가 없습니다, 아이템 이름에 -1을 입력하면 프로그램을 종료하려면 -1).

오랜 설명을 드려 죄송합니다. 이 글을 읽고 프로그래머가 희망을 갖도록 도와 주셔서 감사합니다.

답변

1

비교를 위해 String을 사용해야합니다 (그러나 "-1" 함). 또한 입력을받은 직후에 작업하십시오. 예 :

names[count] = in.next(); 
if (names[count].equals("-1")) { 
    break; 
} // ... 
+0

고맙습니다. +1 – MonkeyWithMachine

+1

@ MonkeyWithMachine +1은 대답을 수락함으로써 나타낼 수 있습니다. 이렇게하면 다른 사람에게 문제가 해결되었음을 알릴 수 있습니다. –