2017-03-13 43 views
-2

私はコンソールから表示するホテルの予約システムを作っています。システムでは、最大10の部屋番号(1〜10)を選択し、予約されている顧客名を指定できるようにする必要があります。以下では、プログラムの実行時にすべての部屋を空にする方法を示します。予約システムの値の配列を検索する

以下、ホテルのシステムアレイを見て、顧客が見つかったかどうかを確認しようとしています。現在、n個の要素が取り出されています。誰かが要素を検索する方法を教えてもらえますか?

System.out.println("Please enter the customer name:"); 
      String findCust = input.next(); 
      for (int x = 0; x < 10; x++) { 
       if (findCust.equals(hotel[x])) { 
        System.out.println("Room " + x + " is occupied by " + hotel[x]); 

       } else { 
        System.out.println("Customer is not found."); 
        exitToMenu(hotel); 

       } 
      } 
+0

コードを少し再構成する必要があります。一致するものがあればループを止めてください。その後、ループの後にブール値を使用して、ルームが占有されているかどうか、またはメニューに戻る前に顧客が見つからないかどうかを指定します。私は名前で部屋を検索する方法を紹介することを提案しますが。その後、コードは再利用可能です。しかし、私はあなたがプログラミングの新人だと思いますので、今はそうではありません – KarelG

答えて

0

ループは最初の反復後に停止します。

int y = -1; 
for (int x = 0; x < 10; x++) 
{ 
    if (findCust.equals(hotel[x])) 
    { 
      y = x; 
      break; 

    } 
} 
    if(y!=-1) 
    { 
    System.out.println("Room " + x + " is occupied by " + hotel[x]); 

    } else 
{ 
    System.out.println("Customer is not found."); 
    exitToMenu(hotel); 

} 
+0

これまで働いていないようです。とにかくありがとう。 –

+0

hotelとhotelRefは同じ配列を参照していますか? – amudhan3093

0

Arrays.asList()を使用してリストに配列を変換して、オブジェクトが存在するかどうかを確認する方法<arraylistName>.contains(Object)を使用します。あなたのような何かにあなたのコードを変更する必要があります。

-1

上記のコードでは、hotelRef配列とホテル配列は同じですか? hotel []の代わりにhotelRef []を使用しようとしていない場合。

+0

これまでのところ動作していないようです。とにかくありがとう。 –