Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Excerpt

Trinn 1 i Java-delen av Kodeklubben høsten 2014 handler om å bli vant med å programmere enkle Java-programmer, med utgangspunkt i at du kan litt Python fra før.

På denne siden forklarer vi litt om forskjellen mellom Python og Java, med noen kode-eksempler. Først er det et lite eksempel for å komme igang og lenger ned et større et. Nederst på siden etter det største kode-eksemplet er det en oppgave (med deloppgaver), som vi anbefaler deg å prøve på.

Det meste er likt, men forskjellig...

...

Under er Java-versjonen av samme program. Kopier gjerne koden inn i et kodingsprosjekt i Eclipse med lim inn-funksjonen, så det blir enklere å leke seg litt med den. Lenger ned går vi gjennom de viktigste forskjellene mellom Python og Java, omtrent slik de dukker opp i kode-eksemplet. Nederst er det en oppgave i fem deler som bygger på denne koden. Til slutt er det en oppgave som vi anbefaler deg å se på, for å se at du har skjønt det viktigste.

Code Block
languagejava
titleJava-versjon
linenumberstrue
collapsetrue
package trinn1;

class EncodeDecode {
    String alphabet = "abcdefghijklmnopqrstuvwxyz";

	char encode(char letter, int secret) {
        int pos = alphabet.indexOf(letter);
        int newpos = (pos + secret);
        if (newpos >= 26) {
            newpos = newpos - 26;
        }
        return alphabet.charAt(newpos);
    }
    
    char decode(char letter, int secret) {
        int pos = alphabet.indexOf(letter);
        int newpos = (pos - secret);
        if (newpos < 0) {
            newpos = newpos + 26;
        }
        return alphabet.charAt(newpos);
    }

	void run() {
        String message = "hello world";
        int secret = 17;
        String output = "";
        for (int i = 0; i < message.length(); i = i + 1) {
            char character = message.charAt(i);
            if (alphabet.indexOf(character) >= 0)
                output = output + encode(character, secret);
            else
                output = output + character;
            System.out.println(output);
        }
        message = "yvccf nficu";
        output = "";
        for (int i = 0; i < message.length(); i++) {
            char character = message.charAt(i);
            if (alphabet.indexOf(character) >= 0)
                output = output + decode(character, secret);
            else
                output = output + character;
            System.out.println(output);
        }
    }
    
    public static void main(String[] args) {
        EncodeDecode program = new EncodeDecode();
		program.run();
	}
}

...

I motsetning til Python, så kan en ikke legge et kall til run() i bunnen av fila. For å få kalt run()-metoden så må en ha en spesiell main-metode, hvor en først lager program-objektet med new og så ber dette program-objektet utfør run. Det er main()-metoden som kjøres når vi starter programmet med java-kommandoen i terminalvinduet eller bruker Eclipse sin Run-kommando. Les mer om forskjellen på hvordan kjøring av Python- og Java-programmer virker her: Kjøring av Python- og Java-programmer.

Anchor
oppgave
oppgave
Oppgave

...