////////////////////////////////////////////////////////////////////////
//
//  Esimerkki Java-kurssilla syksyllä 2004 / Arto Wikla
//
//  Kokeillaan try-catch- ja if-lauseiden suoritusnopeutta.
//
////////////////////////////////////////////////////////////////////////

public class MittaaPoiAikaa {

  public static void main(String[] args) {

    long alkuAika, loppuAika, kulutettuAika;

    System.out.print("Anna toistojen määrä: ");
    int lkm=Lue.kluku();

    int[] t = new int[100];

//-------- poikkeus:  --------------------------------

    alkuAika = System.currentTimeMillis();

    for (int i=0; i<lkm; ++i)
      try {
        t[i%100] = i;
      }
      catch (ArrayIndexOutOfBoundsException e) {
        break;
      }

    loppuAika = System.currentTimeMillis();
    kulutettuAika = loppuAika - alkuAika;
    System.out.println("Aikaa try-catch-versiossa kului " + kulutettuAika + " millisekuntia.");


//-------- if lause:  --------------------------------

    alkuAika = System.currentTimeMillis();

    for (int i=0; i<lkm; ++i)
        if (i < t.length)
          t[i%100] = i;

    loppuAika = System.currentTimeMillis();
    kulutettuAika = loppuAika - alkuAika;
    System.out.println("Aikaa if-lausetta käyttäen kului " + kulutettuAika + " millisekuntia.");
  }

} 
