...
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 | ||
---|---|---|
| ||
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 | ||
---|---|---|
| ||
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:
...