HUOM Tehtävät saattoi ratkaista useammalla tavalla, tässä esitetty on yksi niistä.
Kysymykset/ihmettelyt malliratkasuista ja arvosteluista Jarmolta, Jarmo.Isotalo@cs.helsinki.fi tai Jamo:lta @IRCnet
public static void main(String[] args) { int i = 999; while (true) { System.out.println(i); i -= 3; if (i == 0) { break; } } }
public static void main(String[] args) { ArrayList<String> sanat = new ArrayList<>(); System.out.println("Anna merkkijonoja"); String lyhyin = ""; String pisin = ""; Scanner lukija = new Scanner(System.in); while (true) { String syote = lukija.nextLine(); if (syote.isEmpty()) { break; } if (syote.length() < lyhyin.length()) { lyhyin = syote; } if (syote.length() > pisin.length()) { pisin = syote; } } System.out.println(""); System.out.println("Lyhyin: " + lyhyin); System.out.println("Pisin: " + pisin); }
public static void pyramidi(int korkeus) { for (int i = 0; i > korkeus ; i++ ){ for (int j = 0; j < i ; j++ ){ System.out.print("#"); } System.out.println(); } for (int i = korkeus; i > 0 ; i-- ){ for (int j = 0; j < i ; j++ ){ System.out.print("#"); } System.out.println(); } }
public static int montakoKertaaEsiintyy(int[] luvut, int luku){ int kertoja = 0; for (int i = 0; i < luvut.length; i++ ){ if (luvut[i] == luku){ kertoja++; } } return kertoja; }
public class Kurssisuoritus { private String nimi; private int arvosana; private int opintopisteita; public Kurssisuoritus(String nimi, int arvosana, int opintopisteita) { this.nimi = nimi; this.arvosana = arvosana; this.opintopisteita = opintopisteita; } public String getKurssi() { return nimi; } public int getArvosana() { return arvosana; } public int getOpintopisteet() { return opintopisteita; } public void setArvosana(int arvosana) { this.arvosana = arvosana; } @Override public String toString() { return nimi + " " + opintopisteita + " op, arvosana: " + arvosana; } }
import java.util.ArrayList; public class Opiskelija { private String nimi; private ArrayList<Kurssisuoritus> suoritukset = new ArrayList<Kurssisuoritus>(); public Opiskelija(String nimi) { this.nimi = nimi; } public void suorita(String kurssinNimi, int arvosana, int opintopisteita) { for (Kurssisuoritus suoritus : suoritukset) { if(suoritus.getKurssi().equals(kurssinNimi)) { if(suoritus.getArvosana() < arvosana) { suoritus.setArvosana(arvosana); } // poistutaan metodista, jotta suoritusta ei lisätä uudelleen return; } } suoritukset.add(new Kurssisuoritus(kurssinNimi, arvosana, opintopisteita)); } // b-kohdan mukainen metodi: // // public void suorita(String kurssinNimi, int arvosana, int opintopisteita) { // suoritukset.add(new Kurssisuoritus(kurssinNimi, arvosana, opintopisteita)); // } public int opintopisteita() { int summa = 0; for (Kurssisuoritus suoritus : suoritukset) { summa += suoritus.getOpintopisteet(); } return summa; } public void suoritusote() { System.out.println(nimi); for (Kurssisuoritus suoritus : suoritukset) { System.out.println(" " + suoritus); } System.out.println("opintopisteitä: " + opintopisteita()); } }