2017-02-23 3 views
-1

ここではコードです:ループの要素を比較するにはどうすればよいですか?

public class JavaApplication3 { 
    public static void main(String[] args) { 
    Scanner input = new Scanner(System.in); 
    System.out.println("enter number of trains"); 
    int n = input.nextInt(); 
    int minmin; 
    for (int i = 0; i < n; i++) { 
     System.out.println("enter hour of arrival"); 
     int hour = input.nextInt(); 
     System.out.println("enter minute of arrival"); 
     int min = input.nextInt(); 
     System.out.println("how many minutes will it stay in the station?"); 
     int stay = input.nextInt(); 
     minmin = min + stay; 
    } 
    } 
} 

私は各列車の時間を比較したいが。私は配列でそれをやろうとしましたが、同じ要素でいっぱいになります。それを行うにはより良い方法は何ですか?

+0

また、すべての列車の到着詳細を格納する配列が必要です。次に、比較を行うことができます。データメンバーが到着時間、分、滞在分を訓練するクラス「TrainArrivalDetails」を作成するとよいでしょう。そして、 'TrainArrivalDetails'型のオブジェクトの配列を維持します。 – Uday

+0

@Udayしかし、到着時間を格納する配列を作るにはどうすればいいですか?私がforループの中に入れた場合、それは同じ時間n回を格納します。 – Chano

答えて

0

あなたは今、アレイの電車内のi番目のエントリは、あなたが

+0

そして、私は彼らの時間をお互いにどのように比較するのに役立ちますか?基本的に私がする必要があるのは、到着した時間と分を確認し、どれくらい滞在するかを確認することです(そのため、到着した分の分を追加することにしました。列車はより速く出発する。 – Chano

0
class Train { 
    int hourOfArrival; 
    int minuteOfArrival; 
    int stay; 
    int hourOfDeparture; 
    int minuteOfDeparture; 
    // int order; 

    public Train(int hourOfArrival, int minuteOfArrival, int stay) { 
     this.hourOfArrival = hourOfArrival; 
     this.minuteOfArrival = minuteOfArrival; 
     this.stay = stay; 
     this.minuteOfDeparture = (minuteOfArrival + stay) % 60; 
     this.hourOfDeparture = hourOfArrival + ((minuteOfArrival + stay)/60); 
    } 
} 


public class Demo { 
    public static void main(String[] args) { 
     Scanner in = new Scanner(System.in); 
     System.out.println("enter number of trains"); 
     int n = input.nextInt(); 
     Train[] trains = new Train[n]; 

     for (int i = 0; i < n; i++) { 
      System.out.println("enter hour of arrival"); 
      int hour = input.nextInt(); 
      System.out.println("enter minute of arrival"); 
      int min = input.nextInt(); 
      System.out.println("how many minutes will it stay in the station?"); 
      int stay = input.nextInt(); 
      trains[i] = new Train(hour, min, stay); 
      // your logic to compare the train departure time 
     } 
     // your logic to compare the train departure time 
    } 
} 
をしたい電車で電車

class Train { 
    int hourOfArrival; 
    int minuteOfArrival; 
    int stay; 

    public Train(int hourOfArrival, int minuteOfArrival, int stay) { 
     this.hourOfArrival = hourOfArrival; 
     this.minuteOfArrival = minuteOfArrival; 
     this.stay = stay; 
    } 
} 

を格納し、それらを

public class Demo { 
    public static void main(String[] args) { 
     Scanner in = new Scanner(System.in); 
     System.out.println("enter number of trains"); 
     int n = input.nextInt(); 
     int minmin; 
     Train[] trains = new Train[n]; 

     for (int i = 0; i < n; i++) { 
      System.out.println("enter hour of arrival"); 
      int hour = input.nextInt(); 
      System.out.println("enter minute of arrival"); 
      int min = input.nextInt(); 
      System.out.println("how many minutes will it stay in the station?"); 
      int stay = input.nextInt(); 
      trains[i] = new Train(hour, min, stay); 
      minmin = min + stay; // no idea what this does 
     } 
    } 
} 

を格納する配列を作成するために、別のクラスを作成することができます

私は上記のコードは、各列車の出発時間とgを比較するのに十分なデータを与えると思います前にプラットフォームを離れる列車、またはプラットフォームから離れる順序を見つけることができます。 出発時間を比較するロジックを残しました。あなたはその部分を試すことができます。;)

+0

私はそれらをどのように比較するか分かりません。 Arrays.sortでソートしようとしましたが、うまくいきません。私はちょうど始めているので、私は以前にクラスで働いていません。それは配列を印刷するために私に1時間かかりました...笑、私はついにそれをしました。 – Chano

関連する問題