Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

I vårt program så bruker vi typene java.util.List, java.util.ArrayList og java.util.Scanner, derfor ser import-delen av programmet slik ut:

...

I Python brukes print-funksjonen til å skrive tekst til konsollet. Standardoppførselen er å legge til et linjeskift, men dette kan endres ved å gi inn en alternativ endelse med end=. I Java brukes System.out.print for å skrive ut uten linjeskift og System.out.println for å skrive ut med:

Code Block
languagejava
            System.out.println(operands);
            System.out.print(" > ");

I Python kan en sette sammen string-verdier med +, og for å sette en tekst sammen med andre typer, f.eks. tall, så må en konvertere med str-funksjonen. I Java skjer denne konverteringen automatisk, så en kan blande alle typer ved string-sammensetning.

...

I Python brukes raw_input- eller input-funksjonen (merk at disse ble endret fra versjon 2 til 3!) for å lese input fra brukeren. I Java finnes det flere teknikker, men det enkleste er å deklarere en variabel med typen Scanner (objekt av typen java.util.Scanner), initialisere den med new Scanner(System.in) og bruke en av dens next-metoder for å lese input av ønsket type. F.eks. vil scanner.nextLine() lese en hel linje og returnere denne som en String (uten linjeskiftet) og scanner.nextDouble() lese et desimaltall og returnere denne.

Code Block
languagejava
        Scanner scanner = new Scanner(System.in); // declare and initialise the scanner variable
        while (true) {
			...
            String token = scanner.nextLine();  // declare and initialise the token variable
			...
        }
		...
		scanner.close(); // always remember to close it, before the block scope ends

Nyttige metoder og funksjoner

Både Python og Java har mange nytte funksjoner/metoder som det er greit å ha oversikt over. Noen funksjoner kalles direkte, mens andre må kalles på et objekt, typisk med med et variabelnavn og punktum foran. F.eks. bruker en i Python len(str) for å finne lengden til en string og str.find(substr) for å finne indeksen til første forekomst av substr i str.

Her en liten oversikt over nyttige Java-funksjoner/metoder for håndtering av string-verdier: Tekst-håndtering

Her er en innføring i bruk av lister o.l.: Collection-rammeverket

RPNCalc1.java

Og her er all koden:

...