Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: Java: F1-pistelaskuri

koodaaja [24.10.2021 23:10:18]

#

F1-sarjan (virallisesti FIA Formula One World Championship) pistejärjestelmä on kokenut monenlaisia muutoksia vuosikymmenten aikana. Esim. alkuaikoina ja nykyisin myös nopeimmasta kierroksesta saa pisteet. MM-taistelua käydään sekä kuljettaja -ja valmistajatasolla.

Vuodesta 1991 kaikki kilpailut lasketaan pisteisiin ja tämä ohjelma lähtee kyseistä vuodesta ja päättyy vuoteen 2018.

Tämä ohjelma tarkistaa kauden ja määrittää pistejärjestelmän sen mukaan taulukkoon. Toisesta taulukosta löytyy sijoitukset. Laskuri-luokassa on metodi, joka kertoo ja laskee summan sijoituksista ja pistejärjestelmästä.

class Laskuri {

 private int sijat[];
 private int pisteJarjestelma[];
 private int kausi;

 public Laskuri(int kausi, int sijat[]){
 this.sijat = new int[10];
  //Tarkistetaan pistejärjestelmä vuoden mukaan.
  if (kausi >= 1991 && kausi < 2003){
   pisteJarjestelma = new int[]{9,6,4,3,2,1,0,0,0,0};
  }
  else if (kausi >= 2003 && kausi < 2009){
   pisteJarjestelma = new int[]{10,8,6,5,4,3,2,1,0,0};
  }
  else if (kausi >= 2010 && kausi < 2019){
   pisteJarjestelma = new int[]{25,18,15,12,10,8,6,4,2,1};
  }

  this.kausi = kausi;
  this.sijat = sijat;


 }

 public int LaskePisteet(){
  int pisteet = 0;
  //Lasketaan pisteet sijoitus kerrallaan.
  for (int i = 0; i < 10; i++){
   pisteet += pisteJarjestelma[i]*sijat[i];
  }
  return pisteet;
 }


}

public class PisteLaskuri {

 public static void main(String[] args){
  Laskuri kuski1 = new Laskuri(1995,new int[]{2,3,5,1,0,0,1,1,0,0});
  Laskuri kuski2 = new Laskuri(2015,new int[]{2,3,5,1,0,0,1,1,0,0});
  System.out.println("Pisteet:" + kuski1.LaskePisteet());
  System.out.println("Pisteet:" + kuski2.LaskePisteet());
 }



}

Vastaus

Muista lukea kirjoitusohjeet.
Tietoa sivustosta