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());
}
}