Du er ikke logget inn. Så lenge du ikke er logget inn går du glipp av muligheten for å holde styr på din egen progresjon.

Logg inn

Valgte tags:

Filtrering:

Skriv ut:

0.00: INFORMASJON

KURSET ER IKKE I BRUK!

Oppgavene du finner på denne siden tilhører kurset INF1000. Dette kurset gikk siste gang høsten 2016, og oppgavene er ikke lenger relevante for noen kurs. Om du ser etter oppgaver tilhørende kursets etterfølger, IN1000, må du gå tilbake til startsiden på Trix og velge IN1000.

0.02: Klassenavn i Java

Hva er et godt klassenavn i Java?

a)

class bok

b)

class BOK

c)

class Bok
Vis løsningsforslag

Alternativ c) er det riktige svaret. Ingen av klassenavnene vil gi kompileringsfeil, men i Java er konvensjonen å skrive klassenavn med stor forbokstav, og de resterende bokstavene i klassenavnet skal være små. Husk også at filnavnet til denne klassen må være Bok.java

0.04: Personinformasjon

Filnavn: Person.java

  1. Lag en ny fil i en teksteditor(for eksempel Atom), og lagre filen som Person.java
  2. Skriv en klasse Person.
  3. Lag metoden public static void main(String[] args) i klassen.
  4. Bruk System.out.println() for å skrive ut navnet ditt til terminal.
  5. Utvid deretter programmet ditt slik at det også skriver ut telefonnummeret og gateadressen din til terminal, på hver sin ekstra linje.
Vis løsningsforslag
class Person {
    public static void main(String[] args) {
        System.out.println("Kjell Bjarne");
        System.out.println("22222222");
        System.out.println("Pizza- og Kina-veien 43");
    }
}

For å kompilere og kjøre i terminalen:

> javac Person.java
> java Person

0.05: Tilordning og utskrift

Filnavn: HeiVerden.java

a) Skriv et program som skriver "Hei Verden!" til terminalen.
b) Utvid programmet med en deklarasjon av en heltallsvariabel alder.
c) Gi variabelen alder verdien 4. Skriv ut "Alder: " og verdien av alder til terminalen.
d) Legg inn følgende kommentar i programmet: "Nå endrer vi verdien av variabelen alder:".
e) Endre verdien i variabelen alder til din egen alder. Skriv ut en ny linje til terminalen med en passende tekst og den nye verdien til alder.
f) Kompiler og kjør programmet ditt.

Vis løsningsforslag
class HeiVerden{
    public static void main (String[] args){
        System.out.println("Hei Verden!");
        int alder;
        alder = 4;
        System.out.println("Alder: " + alder);

        //Nå endrer vi verdien av variabelen alder:
        alder = 21;
        System.out.println("Hei Verden, min alder er " + alder + "!");
    }
}

0.06: Utskrift i pyramideform

Filnavn: Stjerner.java

Lag et Java-program som skriver ut tre linjer med stjerner "*" slik at det ser ut som en pyramide på skjermen. Kompiler og kjør, gjør endringer inntil du ser at programmet fungerer slik det skal.

0.07: Avansert kompilering

Filnavn: Hei.java og Hallo.java

  1. Opprett to filer Hei.java og Hallo.java. Skriv klassene Hei og Hallo i hver sin fil.
  2. Skriv main-metoder i begge klassene.
  3. Skriv en print-setning i Hei.java som printer ut "Hei", og en print-setning i Hallo.java som printer ut "Hallo".
  4. Kompiler begge klassene samtidig.
  5. Kjør klassene hver for seg.

Hint: Du kan kompilere flere filer samtidig ved å spesifisere flere filnavn etter "javac".

Vis løsningsforslag

1 - 3:

// I Hei.java:
class Hei {
    public static void main(String[] args) {
        System.out.println("Hei");
    }
}

// I Hallo.java:
class Hallo {
    public static void main(String[] args) {
        System.out.println("Hallo");
    }
}

4.

> javac Hei.java Hallo.java

5.

> java Hei
Hei
> java Hallo
Hallo

0.08: SumHeltall

Filnavn: SumHeltall.java

Skriv et program med en klasse SumHeltall med en main-metode. Lag to variabler av typen int og kall dem a og b. Lagre verdiene 4 og 5 i variablene. Skriv ut summen av tallene.

Vis løsningsforslag
class SumHeltall {
    public static void main(String[] args) {
        int a;
        int b;

        a = 4;
        b = 5;

        System.out.println("Summen er: " + (a + b));
    }
}

0.09: Enkel Regning

Filnavn: Regning.java

a) Skriv en klasse du kaller "Regning.java" som inneholder main-metoden.

b) Lagre et heltall du finner på selv i en variabel du kaller "tall"

c) Skriv ut det dobbelte av "tall" på formatet "Det dobbelte av tall er : "

d) Skriv ut kvadratet av "tall" på formatet "Kvadratet av tall er: "
Hint: Å kvadrere et tall vil si å opphøye det i 2 ( tall^2 )

e) Skriv ut differansen melllom 100 og tallet ditt på formatet "Differansen mellom 100 og tall er: "

Vis løsningsforslag
class Regning{
  public static void main(String [] args){
    // b
    int tall = 5;

    // c
    System.out.println("Det dobbelte av tall er : " + (tall*2));

    // d
    System.out.println("Kvadratet av tall er: " + (tall*tall));

    // e
    System.out.println("Differansen mellom 100 og tall er : " + (100 - tall));

  }
}

1.01: MittProgram

Navn: MittProgram.java

a) Lag en fil som heter MittProgram.java.
b) Lag en klasse i filen som heter MittProgram.
c) Lag en main-metode i klassen (Hint: public static void main(String[] args)
d) Print "Dette er mitt program" til terminalen. (Hint: System.out.println)

Vis løsningsforslag
class MittProgram {
    public static void main(String[] args) {
        System.out.println("Dette er mitt program");
    }
}

1.03: Differansen mellom to heltall.

Navn: Differanse.java

Lag et program som ber om og leser inn to heltall. Programmet skal deretter regne ut differansen mellom de to tallene og skrive ut svaret. Her er et eksempel på hvordan en kjøring av programmet kan se ut:

Oppgi verdien til x: 
> 25
Oppgi verdien til y: 
> 19
Differansen mellom x og y er 6.

Du behøver ikke tenke på at det første tallet kan være mindre enn det andre. Det er ikke nødvendig å regne ut absoluttverdien av differansen (men prøv gjerne å finne ut hvordan det gjøres, dersom du ønsker en ekstra utfordring).

Vis løsningsforslag
import java.util.Scanner;

class Differanse {
    public static void main(String[] args) {
        //Deklarerer variabler
        String lest;
        int x;
        int y;

        //Oppretter scanner for aa lese inn fra tastatur.
        Scanner tastatur = new Scanner(System.in);

        System.out.println("Oppgi verdien til x:");
        lest = tastatur.nextLine(); //oppdaterer verdien til lest.
        x = Integer.parseInt(lest); //konverterer fra String til int.

        System.out.println("Oppgi verdien til y:");
        lest = tastatur.nextLine(); //oppdaterer verdien til lest.
        y = Integer.parseInt(lest); //konverterer fra String til int.

        System.out.println("Differanse mellom x og y er " + (x-y));
    }
}

Merk at vi her gjenbruker variabelen lest for å lese inn både x og y . Vi kunne også hatt to String-variabler for lesing, eller droppet det helt, og heller brukt Integer.parseInt() direkte på input fra bruker.

1.04: Finn syntaksfeil

Finn 6 feil i følgende program.

class Utskrift {
    pubic stitac void main(String args) (
        System.out.println("Beethoven skrev Skjebnesymfonien")
        System.out.println("og åtte andre symfonier.);
    }
}
Vis løsningsforslag
  1. Linje 2: "pubic" skulle vært "public".
  2. Linje 2: "stitac" skulle vært "static".
  3. Linje 2: "(String args)" skulle vært "(String[] args)".
  4. Linje 2: Parentes på slutten av linjen skulle vært krølleparentes.
  5. Linje 3: Mangler semikolon på slutten av linjen.
  6. Linje 4: Mangler avsluttende anførselstegn på strengen inne i println-setningen.

1.05: Sammenligning av to tall

Navn: Sammmenlign.java

Lag et program som inneholder to heltallsvariable; a og b. Gi variablene verdier som du selv velger.

Lag en sjekk om a er større enn b. Skriv ut til skjerm enten a er storre enn b eller a er ikke storre enn b.

Varier verdiene du setter for a og b, og sjekk at resultatet blir som forventet i alle tilfellene.

Vis løsningsforslag
class Sammenlign {
    public static void main(String[] args) {
        int a = 4;
        int b = 2;

        if(a > b) {
            System.out.println("a er storre enn b");
        } else {
            System.out.println("a er ikke storre enn b");
        }
    }
}

Utskriften her ville vært "a er storre enn b", fordi a er 4 og b er 2.

1.06: Regn ut produktet av to heltall.

Navn: Produkt.java

a) Lag et program som ber om og leser inn to heltall. Programmet skal deretter regne ut produktet av de to tallene og skrive ut svaret.

Her er et eksempel på hvordan en kjøring av programmet kan se ut:

Oppgi verdien til x: 
> 5
Oppgi verdien til y: 
> 4
Produktet av x og y er 20.

b) Endre programmet slik at programmet sjekker om differansen mellom tallene er positiv eller negativ og skriver ut en passende beskjed til brukeren.

Vis løsningsforslag
import java.util.Scanner;

class Produkt {
    public static void main(String[] args) {
        int x;
        int y;
        Scanner tastatur = new Scanner(System.in);

        System.out.println("Oppgi verdien til x:");
        x = Integer.parseInt(tastatur.nextLine());

        System.out.println("Oppgi verdien til y:");
        y = Integer.parseInt(tastatur.nextLine());

        System.out.println("Produktet av x og y er " + (x*y));
    }
}

Her kunne man også brukt midlertidige String-variabler for å holde på verdiene før parseInt(). Med løsningen ovenfor konverterer man inntastet verdi av typen String til int direkte.

1.07: Finn ut om siste siffer er felles.

Navn: SisteSiffer.java

Gitt tre heltallsvariable, a, b og c med ikke-negative verdier som du velger selv. Sjekk om to eller flere har felles siste siffer, og skriv eventuelt ut disse til skjerm.

Vis løsningsforslag
class SisteSiffer {
    public static void main(String[] args) {
        int a = 43;
        int b = 123;
        int c = 324;

        if(a % 10 == b % 10) {
            System.out.println("a og b har like siste siffer");
        }

        if(a % 10 == c % 10) {
            System.out.println("a og c har like siste siffer");
        }

        if(b % 10 == c % 10) {
            System.out.println("b og c har like siste siffer");
        }
    }
}

Operatoren % som er brukt her, kalles "modulo". Den beregner resten av det første tallet delt på det andre tallet. I 10-tallssystemet vil resten av et tall delt på 10 alltid være det siste sifferet i tallet (prøv selv!).

Merk at vi bruker if hele veien, og ikke else if. Årsaken er at det er mulig at flere tall har felles siste siffer -- og da vil vi ha ut alle!

1.08: Mindre eller større enn.

Navn: MindreStorre.java

a) Lag et program som tar inn et tall fra brukeren og skriver ut om tallet er mindre eller større enn 10.
b) Legg deretter til en test til for å sjekke om tallet er mindre eller større enn 20.
c) Endre programmet slik at brukeren kun får én tilbakemelding per tall som er tastet innn.

Programmet skal kunne se slik ut under kjøring:

Tast inn et tall: 
> 13
Tallet er mellom 10 og 20

Tast inn et tall: 
> 9
Tallet er under 10

Tast inn et tall: 
> 22
Tallet er over 20
Vis løsningsforslag
import java.util.Scanner;

class MindreStorre {
    public static void main(String[] args) {
        int tall;
        Scanner tastatur = new Scanner(System.in);

        System.out.println("Tast inn et tall:");
        tall = Integer.parseInt(tastatur.nextLine());

        if(tall < 10) {
            System.out.println("Tallet er under 10");
        } else if(tall > 10 && tall < 20) {
            System.out.println("Tallet er mellom 10 og 20);
        } else {
            System.out.println("Tallet er over 20");
        }
    }
}

1.09: Skatt i Ruritania.

Navn: SkattRuritania.java

I det fiktive landet Ruritania er skattereglene slik at hvis en person har inntekt < 10000, så betaler man 10% skatt på hele inntekten, og hvis inntekten >= 10000, så betaler man 10% skatt på de første 10000 kronene og 30% skatt på resten av inntekten. Lag et program som regner ut og skriver ut hvor mange kroner som skal betales i skatt. Programmet skal lese inntekten (som antas å være et desimaltall) fra terminal.

Vis løsningsforslag
import java.util.Scanner;

class SkattRuritania {
    public static void main(String[] args) {
        Scanner tastatur = new Scanner(System.in);
        double inntekt = 0.0;
        double skatt = 0.0;

        System.out.println("Tast inn din inntekt:");
        inntekt = Double.parseDouble(tastatur.nextLine());

        if(inntekt < 10000) {
            skatt = inntekt*0.1;
        }
        else {
            skatt = ((10000*0.1) + ((inntekt - 10000)*0.3));
        }

        System.out.println("Skatt: " + skatt);
    }
}

1.10: Kroppstemperatur.

Navn: Kroppstemperatur.java

Hos friske mennesker varierer kroppstemperaturen vanligvis mellom 36.5 og 37.5 grader. Lag et program som avgjør om en persons kroppstemperatur ligger henholdsvis under, innenfor eller over normal kroppstemperatur. Programmet skal lese kroppstemperaturen fra terminal. (Hint: Her må du lese inn double-verdier fra terminalen! Vi kan bruke Double.parseDouble()).

Vis løsningsforslag
import java.util.Scanner;

class Kroppstemperatur{
    public static void main(String [] args){
        double lavTemp = 36.5;
        double hoyTemp = 37.5;

        //Innlesing fra bruker
        System.out.println("Skriv inn din kroppstemperatur:");
        Scanner tastatur = new Scanner(System.in);
        String linje = tastatur.nextLine();
        double brukerTemp = Double.parseDouble(linje);

        if(brukerTemp < lavTemp){
            System.out.println("Du har lavere kroppstemperatur enn normalen");
        } else if (brukerTemp > hoyTemp){
            System.out.println("Du har høyere kroppstemperatur enn normalen");
        } else {
            System.out.println("Du har normal kroppstemperatur");
        }
    }
}

1.11: Ulike verdier.

Navn: UlikeVerdier.java

Lag et program som inneholder to heltallsvariable, i og j.

Gi variablene verdier som du selv velger. Sjekk om i og j er forskjellige, og skriv ut til skjerm enten i og j har ulike verdier eller i og j har ikke ulike verdier.

Varier verdiene du setter for i og j, og sjekk at resultatet blir som forventet i alle tilfellene.

Vis løsningsforslag
class UlikeVerdier {
    public static void main(String[] args) {
        int i = 4;
        int j = 1233;

        if(i != j) {
            System.out.println("i og j har ulike verdier");
        } else {
            System.out.println("i og j har ikke ulike verdier");
        }
    }
}

1.12: Handletur

Navn: Handletur.java

Programmet skal regne ut totalpris for en bruker etter å ha vært på handletur. De varene det er mulig å kjøpe er brød, melk, ost og youghurt.

Prisene er som følger:
Brød: 20 kr.
Melk: 15 kr.
Ost: 40 kr.
Youghurt: 12 kr.

Eksempel på interaksjon med programmet:

Hei! Velkommen til IFI-butikken.
Hvor mange brød vil du ha?
> 2
Hvor mange melk vil du ha?
> 1
Hvor mange ost vil du ha?
> 1
Hvor mange yoghurt vil du ha?
> 3
Du skal betale: 131 kr.
Vis løsningsforslag
import java.util.Scanner;

class Handletur {
    public static void main(String[] args) {
        int antBrod;
        int antMelk;
        int antOst;
        int antYog;

        Scanner tastatur = new Scanner(System.in);

        System.out.println("Hvor mange brod vil du ha?");
        antBrod = Integer.parseInt(tastatur.nextLine());

        System.out.println("Hvor mange melk vil du ha?");
        antMelk = Integer.parseInt(tastatur.nextLine());

        System.out.println("Hvor mange ost vil du ha?");
        antOst = Integer.parseInt(tastatur.nextLine());

        System.out.println("Hvor mange yoghurt vil du ha?");
        antYog = Integer.parseInt(tastatur.nextLine());

        int subtotal = 0;

        subtotal += antBrod * 20;
        subtotal += antMelk * 15;
        subtotal += antOst * 40;
        subtotal += antYog * 12;

        System.out.println("Du skal betale: " + subtotal + " kr.");
    }
}

1.13: Høyde.

Filnavn: Hoyde.java

Du skal lage en program som gir tar inn en høyde i cm fra bruker, og skriver ut et av følgende alternativer:
- Du er lav.
- Du er middels.
- Du er høy.

Grensen for å være lav er om høyde < 140 cm, og grensen for å være høy er om høyde > 190 cm.

Vis løsningsforslag
import java.util.Scanner;

class Hoyde{
    public static void main(String [] args){
        int lav = 140;
        int hoy = 190;

        //Innlesing fra bruker
        System.out.println("Skriv inn din hoyde:");
        Scanner tastatur = new Scanner(System.in);
        String linje = tastatur.nextLine();
        int brukerHoyde = Integer.parseInt(linje);

        if(brukerHoyde < lav){
            System.out.println("Du er lav.");
        } else if (brukerHoyde > hoy){
            System.out.println("Du er hoy.");
        } else {
            System.out.println("Du er middels.");
        }
    }
}