Aarstid


public class Aarstid {
public static void main(String args[]) {
System.out.print("Tast månedsnummer: ");
int tall = Terminal.lesInt();
switch (tall) {
case 12: case 1: case 2: // felles handlinger for flere verdier
System.out.println("Det er vinter!");
break;
case 3: case 4: case 5:
System.out.println("Det er vår!");
break;
case 6: case 7: case 8:
System.out.println("Det er sommer!");
break;
case 9: case 10: case 11:
System.out.println("Det er høst!");
break;
default:
System.out.println(tall + " er ikke en lovlig måned!");
} // end switch
}
}

 

 

 

 

 

 

 

 

 

CD

class CD {

// Deklarasjoner av felt-variabler
String tittel;
int antallSpor;

// Deklarasjoner av instans-metoder
String hentTittel() { return tittel; }
int hentAntallSpor() { return antallSpor; }
void settTittel(String nyTittel) { tittel = nyTittel; }
void settAntallSpor(int nSpor) { antallSpor = nSpor; }
}

 

 

 

 

 

 

 

 

 

 

 

 

 

CD_Sampler

public class CD_Sampler {
public static void main(String args[]) {
// Opprett 2 CD-er.
CD favorittalbum = new CD();
CD jazzalbum = new CD();

// Sett tilstand til CD-ene.
favorittalbum.settTittel("Java Jam Hits");
favorittalbum.settAntallSpor(8);
jazzalbum.settTittel("Java Jazz Hits");
jazzalbum.settAntallSpor(10);

// Skriv tilstand til CD-ene.
System.out.println("Tittel på favorittalbum: "
+ favorittalbum.hentTittel());
System.out.println("Antall spor på favorittalbum: "
+ favorittalbum.hentAntallSpor());
System.out.println("Tittel på jazzalbum: "
+ jazzalbum.hentTittel());
System.out.println("Antall spor på jazzalbum: "
+ jazzalbum.hentAntallSpor());
}
}

 

 

 

 

 

 

 

 

DiverseStrengMetoder


public class DiverseStrengMetoder {

public static void main(String args[]) {
String gruppe1 = "abba", gruppe2 = "aha";
int resultat3 = gruppe2.compareTo(gruppe1); // > 0
// int resultat3 = gruppe2.compareTo(new Integer(10)); // > 0
if (resultat3 > 0) // Sann i dette tilfellet.
// "aha" er større leksikografisk.
System.out.println(gruppe2 + " er større leksikografisk!");
if (gruppe1.length() > gruppe2.length()) // 4 > 3
// "abba" er større i lengde.
System.out.println(gruppe1 + " er større i lengde!");

String stjerne = "madonna";
int lengde = stjerne.length(); // 7
System.out.println(stjerne.charAt(lengde-4)); // ind. 3, 4.tegn: o
System.out.println(stjerne.indexOf('n')); // 4
System.out.println(stjerne.substring(0,3)); // "mad"
}
}

 

 

 

 

 

 

 

 

FlerdimensjonaleTabeller

public class FlerdimensjonaleTabeller {

public static void main(String[] args) {
int[][] ukeTabell = new int[3][7]; // Deklarasjon og opprettelse.
// Initialisering av 1. rad
ukeTabell[0][0] = 12; ukeTabell[0][1] = 10; ukeTabell[0][2] = 22;
ukeTabell[0][3] = 33; ukeTabell[0][4] = 19; ukeTabell[0][5] = 27;
ukeTabell[0][6] = 16;
// Initialisering av 2. rad
ukeTabell[1][0] = 45; ukeTabell[1][1] = 55; ukeTabell[1][2] = 44;
ukeTabell[1][3] = 34; ukeTabell[1][4] = 39; ukeTabell[1][5] = 15;
ukeTabell[1][6] = 11;
// Initialisering av 3. rad
ukeTabell[2][0] = 18; ukeTabell[2][1] = 26; ukeTabell[2][2] = 36;
ukeTabell[2][3] = 40; ukeTabell[2][4] = 24; ukeTabell[2][5] = 11;
ukeTabell[2][6] = 20;
// Problem (1) Skriv ut opplysninger i tabellform
for (int mobilIndeks = 0; mobilIndeks < ukeTabell.length;
mobilIndeks++) {
System.out.print("Mobil indeks " + mobilIndeks + ": ");
for (int dagIndeks = 0;
dagIndeks < ukeTabell[mobilIndeks].length;
dagIndeks++) {
System.out.print(ukeTabell[mobilIndeks][dagIndeks] + "\t");
}
System.out.println();
}

// Problem (2) Finn totalt antall tekstmeldinger sendt fra
// mobiltelefon med indeks 1 for hele uken.
int sumUke = 0;
for (int dagIndeks = 0; dagIndeks < ukeTabell[1].length;
dagIndeks++) {
sumUke += ukeTabell[1][dagIndeks];
}
System.out.println(
"Totalt antall meldinger sendt fra mobiltelefon med indeks 1: "
+ sumUke);

// Problem (3) Finn totalt antall meldinger sendt fra alle
// mobiltelefoner på onsdag (dag indeks 2)
int sumMeldinger = 0;
for (int mobilIndeks = 0; mobilIndeks < ukeTabell.length;
mobilIndeks++) {
sumMeldinger += ukeTabell[mobilIndeks][2];
}
System.out.println(
"Totalt antall meldinger sendt fra alle mobiltelefoner"
+ " på onsdag: " + sumMeldinger);

// Problem (4) Finn hvilke dager totalt antall meldinger sendt fra
// alle mobiltelefoner var over 100.
for (int dagIndeks = 0; dagIndeks < ukeTabell[0].length;
dagIndeks++) {
int sumDag = 0;
for (int mobilIndeks = 0; mobilIndeks < ukeTabell.length;
mobilIndeks++) {
sumDag += ukeTabell[mobilIndeks][dagIndeks];
}
if (sumDag > 100)
System.out.println( "Ukedag med indeks " + dagIndeks
+ " hadde over 100 tekstmeldinger.");
}
}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ForSetningEksempler

public class ForSetningEksempler {
public static void main(String args[]) {

// (1) Enkel for-løkke
// Skriv ut kvadrat av tall fra 1 til 5.
System.out.println("Kvadrat av tall fra 1 til 5");
for ( int i = 1; i <= 5; ++i ) {
System.out.println(i + "\t\t" + (i*i));
}

// (2) "Baklengs" for-løkke
// Skriv ut kvadrat av tall fra 5 til 1.
System.out.println("Kvadrat av tall fra 5 til 1");
for (int i = 5; i > 0 ; --i) {
System.out.println(i + "\t\t" + (i * i));
}

// (3) Nøstede for-løkker
// Skriv ut gangetabeller fra 1 til 5.
for (int i = 1; i <= 5 ; ++i) {
System.out.println("Multiplikasjonstabell for " + i);
for (int j = 1; j <= 10 ; ++j) {
System.out.println(i + "\tx\t" + j + "\ter\t" + (i*j));
}
}

// (4) for-løkke med en break-setning.
System.out.println("Kvadrat av tall fra 1 til 5. Stopp ved 2.");
for (int i = 1; i <= 5; ++i) {
if (i == 3) break; // Terminer løkken når i lik 3.
System.out.println(i + "\t\t" + (i * i));
}

// (5) for-løkke med en continue-setning.
System.out.println("Kvadrat av tall fra 1 til 5. Hopp over 3.");
for (int i = 1; i <= 5; ++i) {
if (i == 3) continue; // Resten av løkke-kroppen
// ikke utført når i lik 3.
System.out.println(i + "\t\t" + (i * i));
}
}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

InkrementOgDekrementoperatorer


public class InkrementOgDekrementoperatorer {

public static void main(String[] args) {
int i = 10, j;
j = i++; // (1) j får verdi 10, og i får verdi 11
System.out.println("j : " + j + " og i: " + i);
i = 10;
j = ++i; // (2) j får verdi 11, og i får verdi 11
System.out.println("j : " + j + " og i: " + i);
}
}

 

 

 

 

 

 

 

 

 

 

 

 

Iterering1

public class Iterering1 {

public static void main(String[] args) {
int[] antallMeldinger = new int[7];
antallMeldinger[0] = 20; // mandag
antallMeldinger[1] = 12; // tirsdag
antallMeldinger[2] = 13; // onsdag
antallMeldinger[3] = antallMeldinger[1]; // torsdag
antallMeldinger[4] = 10; // fredag
antallMeldinger[5] = antallMeldinger[0]; // lørdag
antallMeldinger[6] = antallMeldinger[2] + 4; // søndag

// Problem (1) Finn antall dager som har antall meldinger
// større eller lik et visst antall tekstmeldinger.
System.out.print("Angi grense på antall tekstmeldinger: " );
int grense = Terminal.lesInt();
int antallDager = 0;
for (int indeks = 0; indeks < antallMeldinger.length; indeks++ ) {
if( antallMeldinger[indeks] >= grense)
antallDager++;
}
System.out.println("Antall dager med mer enn " + grense +
" tekstmeldinger: " + antallDager);

// Problem (2) Finn laveste antall tekstmeldinger sendt på en dag.
int lavesteAntall = antallMeldinger[0];
for (int indeks = 1; indeks < antallMeldinger.length; indeks++ ) {
if( lavesteAntall > antallMeldinger[indeks])
lavesteAntall = antallMeldinger[indeks];
}
System.out.println("Laveste antall tekstmeldinger: "
+ lavesteAntall);

// Problem (3) Finn høyeste antall tekstmeldinger sendt på
// en dag, samt navnet på dagen.
int indeksTilHøyeste = 0;
for (int indeks = 1; indeks < antallMeldinger.length; indeks++ ) {
if( antallMeldinger[indeksTilHøyeste] < antallMeldinger[indeks])
indeksTilHøyeste = indeks;
}
String dagNavn;
switch(indeksTilHøyeste) {
case 0: dagNavn = "Mandag"; break;
case 1: dagNavn = "Tirsdag"; break;
case 2: dagNavn = "Onsdag"; break;
case 3: dagNavn = "Torsdag"; break;
case 4: dagNavn = "Fredag"; break;
case 5: dagNavn = "Lørdag"; break;
case 6: dagNavn = "Søndag"; break;
default: dagNavn = "?";
}
System.out.println(
dagNavn + " har høyeste antall tekstmeldinger: " +
antallMeldinger[indeksTilHøyeste]);
}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Iterering2


public class Iterering2 {

public static void main(String[] args) {
String[] cdSporNavn = new String[4];
cdSporNavn[0] = new String("Fritjof i fjøset");
cdSporNavn[1] = new String("Java Jive");
cdSporNavn[2] = new String("Hæla i taket");
cdSporNavn[3] = cdSporNavn[1] + " på julebord";
for (int sporNr = 0; sporNr < cdSporNavn.length; sporNr++ ) {
if(cdSporNavn[sporNr].indexOf("Java") != -1) {
System.out.println(cdSporNavn[sporNr]);
}
}
}
}

 

 

 

 

 

 

 

 

 

 

 

 

Konkatenering


public class Konkatenering {

public static void main(String args[]) {
String kurs = "databehandling";
kurs = "Grunnkurs i " + kurs; // (1)
System.out.println("kurs:\t" + kurs);
int kursnummer = 110;
String kurs1 = "I" + kursnummer + ": " + kurs; // (2)
String kurs2 = 'I' + kursnummer + ": " + kurs; // (3)
System.out.println("kurs1:\t" + kurs1);
System.out.println("kurs2:\t" + kurs2);
}
}

 

 

 

 

 

 

 

 

 

 

 

 

ReferanseOmbytting


public class ReferanseOmbytting {
public static void main(String args[]) {
String gruppe1 = "abba", gruppe2 = "aha", gruppenavn; // (1)
gruppenavn = gruppe1; // (2)
gruppe1 = gruppe2; // (3)
gruppe2 = gruppenavn; // (4)
gruppenavn = null; // (5)
System.out.println("gruppe1 refererer til: " + gruppe1);
System.out.println("gruppe2 refererer til: " + gruppe2);
System.out.println("gruppenavn refererer til: " + gruppenavn);
// System.out.println(gruppenavn.length()); // (6)
}
}

 

 

 

 

 

 

 

 

 

 

 

Telefon

// Program oversetter tlf.nr. til ord: if-versjon
public class Telefon {
public static void main(String args[]) {
char tegn;
String tlfStreng = "";
System.out.print("Skriv telefonnummer (som 55584152): ");
String innlestStreng = Terminal.lesString();
for (int teller = 0; teller < innlestStreng.length(); ++teller) {
tegn = innlestStreng.charAt(teller);
if (tegn == '1') tlfStreng += "en ";
else if (tegn == '2') tlfStreng += "to ";
else if (tegn == '3') tlfStreng += "tre ";
else if (tegn == '4') tlfStreng += "fire ";
else if (tegn == '5') tlfStreng += "fem ";
else if (tegn == '6') tlfStreng += "seks ";
else if (tegn == '7') tlfStreng += "sju ";
else if (tegn == '8') tlfStreng += "åtte ";
else if (tegn == '9') tlfStreng += "ni ";
else if (tegn == '0') tlfStreng += "null ";
else System.out.println(tegn + " er ikke et siffer!");
}
System.out.println(tlfStreng);
}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

TelefonII

// Programmet oversetter tlf.nr. til ord: switch-versjon
public class TelefonII {
public static void main(String args[]) {
char tegn;
String tlfStreng = "";
System.out.print("Skriv telefonnummer (som 55584152): ");
String innlestStreng = Terminal.lesString();
for (int teller = 0; teller < innlestStreng.length(); ++teller) {
tegn = innlestStreng.charAt(teller);
switch (tegn) {
case '1': tlfStreng += "en "; break;
case '2': tlfStreng += "to "; break;
case '3': tlfStreng += "tre "; break;
case '4': tlfStreng += "fire "; break;
case '5': tlfStreng += "fem "; break;
case '6': tlfStreng += "seks "; break;
case '7': tlfStreng += "syv "; break;
case '8': tlfStreng += "åtte "; break;
case '9': tlfStreng += "ni "; break;
case '0': tlfStreng += "null "; break;
default: System.out.println(tegn + " er ikke et siffer!");
} // end switch
} // end for
System.out.println(tlfStreng);
}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Terminal

import java.io.*;
/**
* Denne klassen tilbyr metoder for innlesing av heltall, flyttall og
* strenger fra terminalen.
*
* Pass på at du legger denne filen i samme katalog som programmene dine,
* og kompilerer den før du kjører disse.
*
* @version 1.0
* @author Rolf W. Rasmussen
* @author Khalid A. Mughal
* @author Torill Hamre
*/
public final class Terminal {
private Terminal() {};
private static BufferedReader leser = new BufferedReader(
new InputStreamReader(System.in)
);

/**
* Leser en int verdi fra terminalen.
*/
public static int lesInt() {
while (true)
try { return Integer.parseInt( leser.readLine() ); }
catch (IOException io) { reportError(); }
catch (NumberFormatException nf) { reportError(); }
}
/**
* Leser en double verdi fra terminalen.
*/
public static double lesDouble() {
while (true)
try { return Double.parseDouble( leser.readLine() ); }
catch (IOException io) { reportError(); }
catch (NumberFormatException nf) { reportError(); }
}
/**
* Leser en linje fra terminalen og returnerer denne som et objekt
* av typern String.
*/
public static String lesString() {
while (true)
try { return leser.readLine(); }
catch (IOException io) { reportError(); }
}
/**
* Skriver ut en streng eller strengrepresentasjonen av en annen verdi
* til terminalen og går videre til neste linje.
*/
public static void promptln( Object str ) { System.out.println( str ); }

/**
* Skriver feilmelding og går videre til neste linje på terminalen
* slik at brukeren kan taste inn verdi på nytt.
*/
private static void reportError() {
System.out.println( "Feil i inndata. Prøv på nytt!" );
}
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UtvideteTilordningsoperatorer


public class UtvideteTilordningsoperatorer {

public static void main(String[] args) {
int i = 5, j = 10;
double x = 5.0, y = 10.5;
i += j; // i = i + (j)
j *= i + 20; // j = j * (i + 20)
x -= y + 30.5; // x = x - (y + 30.5)
y /= 5.0; // y = y / (5.0)
System.out.println("i : " + i);
System.out.println("j : " + j);
System.out.println("x : " + x);
System.out.println("y : " + y);
}
}