testtest


Tärkeitä komentoja:
Lukijan syöttämien tekstien/lukujen lukeminen:
Scanner lukija = new Scanner(System.in);
STRING
while (true) {
String rivi = lukija.nextLine();
if (rivi.equals("")) {
break;
INT
while (true) {
int rivi = Integer.valueOf(lukija.nextLine());
if (rivi.equals("")) {
break;
------------------------------------------
String muuttaminen -> int
int luku = Integer.valueOf(rivi);
System.out.println(luku);
------------------------------------------
Tiedostosta lukeminen:
System.out.print("Mistä haetaan? "); //(esim. reseptit.txt)
String tiedosto = lukija.nextLine();
try (Scanner tiedostonlukija = new Scanner(new File(tiedosto))) {
------------------------------------------
ArrayListin perustaminen:
public class Ruokalista {
private ArrayList<String> ateriat;
public Ruokalista() {
this.ateriat = new ArrayList<>();


ArrayListin läpikäyminen oliolla:
for (Lintu osa: linnut) {
ArrayListin läpikäyminen toString metodissa:
public String toString(){
for(Talletettava lista: talletettavat){
return "" + lista;
}
return talletettavat.toString();
------------------------------------------
HashMapin perustaminen oliolla:
public class Kellari {
private HashMap<String, ArrayList<String>> kellari;


public Kellari() {
this.kellari = new HashMap<>();
HashMapin läpikäyminen oliolla:
public ArrayList<String> tulostaLinnut(){
ArrayList<String> lista = new ArrayList<>();
for (String avain : this.linnut.keySet()) {
String valmis = avain + " = " + this.linnut.get(avain);
lista.add(valmis);
}
return lista;
------------------------------------------
ToString rakenne:
public String toString() {
return this.paiva + "." + this.kuukausi + "." + this.vuosi;


Lisää metodi siten, että määrä ei ylity:
public void lisaa(Tavara tavara){
int kokonaispaino = 0;
if(this.tavarat.isEmpty() && tavara.getPaino() <= this.maksimipaino){
this.tavarat.add(tavara);
} else if(!(this.tavarat.isEmpty())){
for(Tavara temp:this.tavarat){
kokonaispaino += temp.getPaino();
}
if(tavara.getPaino() + kokonaispaino <= this.maksimipaino){
this.tavarat.add(tavara);


Random luvun luominen
// Tässä käytettyä Random-oliota voi käyttää satunnaisten lukujen arpomiseen
        Random arpa = new Random();
        // arpoo luvun väliltä [0, 4[. Luvuksi tulee 0, 1, 2 tai 3.
        int luku = arpa.nextInt(4);
Esim:
Random arpoja = new Random();
int lampotila = arpoja.nextInt(81) - 30;
System.out.println(lampotila);
Jos Hashmapin arvoa täytyy muuttaa:


public boolean ota(String tuote) {


if(saldosto.containsKey(tuote)) {

if(saldosto.get(tuote)>0) {

saldosto.put(tuote, saldosto.get(tuote)-1);

return true;

}

}

return false;


Listan arvojen vertaileminen Comparator (09_14)
Comparator<Kirja> vertailija = Comparator
.comparing(Kirja::getIka)
.thenComparing(Kirja::getNimi);


Collections.sort(kirjat, vertailija);


for (Kirja e: kirjat) {
System.out.println(e);
Compare lause:
public int compareTo(Kortti kortti) {
if (this.arvo == kortti.getArvo()) {
if (this.maa.ordinal() > kortti.getMaa().ordinal()) {
return 1;
} else if (this.maa == kortti.getMaa()) {
return 0;
} else {
return -1;
}
} else if (this.arvo > kortti.getArvo()) {
return 1;
} else {
return -1;
Toistolauseet:
for (int i = 0; i < 10; i++) {
    System.out.println(i);
}
int i = 0;
while (i < 10) {
    System.out.println(i);
    i++;
}

StringBuilder

String luvut = "";
for (int i = 1; i < 5; i++) {
    luvut = luvut + i;
}
System.out.println(luvut);
Rivinvaihto onnistuu muokkauksella: luvut = luvut + i + "\n";
Parempi ratkaisu:
StringBuilder luvut = new StringBuilder();
for (int i = 1; i < 5; i++) {
    luvut.append(i);
}
System.out.println(luvut.toString());

Tarkastellaan ongelmaa, jossa täytyy tarkistaa, onko käyttäjän antama opiskelijanumero oikeanmuotoinen. Opiskelijanumero alkaa merkkijonolla "01", jota seuraa 7 numeroa väliltä 0–9. 
if (numero.matches("01[0-9]{7}")) {
    System.out.println("Muoto on oikea.");
Lukujen pyöristäminen:
return Math.ceil(this.saldo) + "/" + this.tilavuus;

Kommentit