2017-04-06 8 views
-3

私はいくつかのバイクを表示するプログラムを書く必要があります。そして顧客はバイクを借りて、このバイクはもう利用できません。それから私は賃貸の時間を記録しなければなりません、そして、人がそれを返すとき、それは記録的な帰りの時間と費用を計算します。私はノブプログラマです。もし誰かが私がこれをどのように仕上げることができるのか簡単なことで説明できたら。私はこのようなことを書いています。あなたの時間をありがとう。ブーイング配列リストのチャンニング値

Scanner s = new Scanner(System.in); 
byte numBikes = 15; 

boolean[] available = new boolean[numBikes]; 
String [] timeRented = new String [numBikes]; 
Arrays.fill(available , true); 


System.out.println("The following bikes are avaialable:\n"); 
for(byte b = 0; b <= numBikes - 1; b++) 
    if(available [b]== true){ 
     System.out.println(" Bike No" + (byte)(b+1)); 

    } 
System.out.print("Enter your bike number you want choose"); 
byte bikeNo = s.nextByte(); 

if (available[bikeNo - 1]== true) 
    available[bikeNo - 1] = false; 

System.out.println("The following bikes are avaialable:\n"); 
for(byte b = 0; b <= numBikes - 1; b++) 
    if(available [b]== true){ 
     System.out.println(" Bike No" + (byte)(b+1)); 
    } 
+0

デザインに応じて、すべての必要な情報を1つまたは2つのオブジェクトにカプセル化できるので、これはPOJO(Plain Old Java Object)が便利な場所です。それは、 'timeRented'のインデックスが' available'の同じインデックスに対応するように、2つの配列間で情報を同期させる必要があります。また、いくつかの方法では管理がはるかに簡単になります – MadProgrammer

+0

POJOに関する提案をお寄せいただきありがとうございます。 – BloodySandwich

答えて

0

私はあなたがコストを計算したいのか分からないので、私はあなたの家賃を知っているが、あなただけの文字Bでそれを変更することを願っていない計算されたコストをユーザにprompあなたのためのサンプルを作りました

import java.util.*; 
    public class Help 
    { 

    public static void main(String[] args) 
    { 
     Scanner scan = new Scanner(System.in); 
     int numBikes =15; 
     int availableBike=15; 
     int bikeFound=0; 

     boolean[] available = new boolean[numBikes]; 
     String[] timeRented = new String [numBikes]; 
     String[] returningTime = new String[numBikes]; 
     int[] calculateCost = new int[numBikes]; 
     Arrays.fill(available,true); 
     String choice=""; 
     do 
     { 
      System.out.println("What do you want to do zzz to quit?"); 
      System.out.println("a.rent a bike b. return a bike"); 
      choice = scan.nextLine(); 
      if(choice.charAt(0)=='a') 
      { 
       System.out.println("The following bikes are available:\n"); 
       for(int b = 0; b <= numBikes - 1; b++) 
        if(available [b]== true)     
         System.out.println(" Bike No:" + (b+1)); 
       System.out.println("Enter your bike number you want choose"); 
       int bikeNo = scan.nextInt(); 
       scan.nextLine(); 
       if(availableBike>0) 
       { 
        if(available[bikeNo-1]==true) 
        {     
         available[bikeNo-1]=false; 
         System.out.println("Enter time of renting"); 
         timeRented[bikeNo-1]=scan.nextLine(); 
         --availableBike; 
        } 
        else 
         System.out.println("Sorry bike's not available choose another"); 
       } 
       else 
        System.out.println("Sorry all bikes are not available at this time"); 
      } 
      else if(choice.charAt(0)=='b') 
      { 
       System.out.println("The following bikes are not available:\n"); 
       for(int b = 0; b <= numBikes - 1; b++) 
        if(available [b]== false)    
         System.out.println(" Bike No:" + (b+1)); 

       System.out.println("Enter bike number you want to return"); 
       int bikeNo=scan.nextInt(); 
       scan.nextLine(); 
       if(available[bikeNo-1]==false) 
       { 
        available[bikeNo-1]=true; 
        System.out.println("Enter out time"); 
        returningTime[bikeNo-1]=scan.nextLine(); 
        System.out.println("Enter cost total"); 
        calculateCost[bikeNo-1]=scan.nextInt(); 
        scan.nextLine(); 
        System.out.println("Total is:"+calculateCost[bikeNo-1]); 
        calculateCost[bikeNo-1]=0; 
        ++availableBike; 
       } 
       else 
        System.out.println("Sorry error"); 
      } 
     } 
     while(!(choice.equals("zzz"))); 

    } 

} 
+0

速い応答をありがとう。他のクラスのメソッドから時間を計算します。テキストファイルに時間を記録するのは良い考えだと思いますか?人が帰ったら、そのファイルから読み込みますか?私は物事を複雑にしたくありません。 – BloodySandwich

+0

どのシステムを作成しようとしていますか?データベースまたはテキストファイルのみのシステムを作成しようとしていますか?それはあなたに依存します。事を複雑にしたくないからです。データベースは別の言語でもあるので、テキストファイルで保存することをお勧めします。 – abcOfJavaAndCPP

+0

もう一度、私を助けてくれてありがとう。私がしようとしているのは、シンプルなシステムを作ることです。顧客はログインし、利用可能な自転車のリストを表示し、自転車を選択し、テキストファイルに記録する。時間がたつと自転車に戻りたいと思って帰り、時間が計算され、費用は彼の口座から差し引かれます。 – BloodySandwich