import java.util.ArrayList; import java.util.HashMap; import java.util.InputMismatchException; import java.util.Scanner; // Ha alltid kun 1 klasse i en fil! // Ikke gjør som jeg har gjort her med andre ord:) //// // Main // - Når trenger vi en main-metode? // - Hvilke klasser skal _ikke_ ha main-metoder? // - Hvilke skal ha dem? public class Main { public static void main(String[] args) { intInput(); intInputTryCatch(); //intInputNextInt(); } // Hvordan kan vi lage lister i Java? public void arrayOgArrayList() { // Python: liste = [] // Array vs. ArrayList String[] array1; String[] array2 = new String[10]; String[] array3 = {"A", "B", "C"}; ArrayList arrayList = new ArrayList<>(); //arrayList.add(2); //int verdi = arrayList.get(0); // Aksessering og setting String getArray = array2[0]; String getArrayList = arrayList.get(0); array2[1] = "Ny verdi"; arrayList.set(1, "Ny verdi"); // eller arrayList.add("Ny verdi, kommer på slutten av listen"); HashMap h; } // Løkker for å iterere over alle elementer i en liste public void loekker() { String[] array = new String[10]; ArrayList arrayList = new ArrayList<>(); for (int i = 0; i < array.length; i++) {} for (int i = 0; i < arrayList.size(); i++) {} // for elm in liste for (String elm : array) {} for (String elm : arrayList) {} } // Hente et int-input ved å bruke next() og parsing til int public static void intInput() { Scanner in = new Scanner(System.in); // input("Skriv inn tall: ") System.out.print("Skriv inn ett tall: "); String svar = in.next(); int tall = Integer.parseInt(svar); System.out.println("Du skrev inn tallet: " + tall); } // Samme som over, men håndterer om bruker ikke skriver inn en int public static void intInputTryCatch() { Scanner in = new Scanner(System.in); System.out.print("Skriv inn ett tall: "); String svar = in.next(); try { int tall = Integer.parseInt(svar); System.out.println("Du skrev inn tallet: " + tall); } catch (NumberFormatException e) { System.out.println("Du skrev ikke inn et tall!!"); e.getMessage(); } } public void hh(String d) { } // Samme som over, men bruker nextInt() istedenfor next() public static void intInputNextInt() { Scanner in = new Scanner(System.in); System.out.print("Skriv inn ett tall: "); try { int tall = in.nextInt(); System.out.println("Du skrev inn tallet: " + tall); } catch (InputMismatchException e) { System.out.println("Du skrev ikke inn et tall!!"); } } public void tryCatchFinally() { try { // Kode som kan gi et unntak } catch (Exception e) { // Fanger unntaket som oppstår // Merk at du må/bør presisere hvilket unntak det er snakk om! // Feks: NumberFormatException, InputMismatchException, FileNotFoundException } finally { // Denne koden vil alltid kjøre til slutt, uansett hvordan testene over går } } } //// // Konstruktører! // - Når trenger vi dem? // - Må vi ha dem? // - Hva skjer om vi dropper dem? class Katt { private int antallLiv = 9; private String navn; public Katt(String n) { System.out.println("Katt opprettet"); navn = n; } public int hentAntallLiv() { return antallLiv; } public void fjernEttLiv() { antallLiv -= 1; } } class Linjerom { private int antallPlasser; // Kalles på når vi skriver 'new Linjerom(23)' public Linjerom(int antPlasser) { antallPlasser = antPlasser; } public int hentAntallPlasser() { return antallPlasser; } }