import easyIO.*; class Oblig2 { public static void main(String[] args) { String stopp; String[][] eier = new String[15][25]; double[][] utvunnet = new double[15][25]; In keyboard = new In(); Out skjerm = new Out(); int meny = 10; while (meny != 8) { In menyValg = new In(); System.out.println("*** VELKOMMEN TIL RURITANIAS OLJEFELTOVERSIKT *** \n"); System.out.println("Du har flgende valgmuligheter:"); System.out.println(" 1) Kjp et felt"); System.out.println(" 2) Annuler kjp av et felt"); System.out.println(" 3) Lag oversiktskart"); System.out.println(" 4) Lag liste over oljeselskaper"); System.out.println(" 5) Oppdater ojleutvinning"); System.out.println(" 6) Finn maksimal oljeutvinning"); System.out.println(" 7) Finn gjennomsnittlig oljeutvinning"); System.out.println(" 8) Avslutt"); System.out.print("\nVelg kommando: "); meny = menyValg.inInt(); if (meny <= 0 || meny > 8) { System.out.println("\nUgyldig menyvalg."); System.out.println("\nTrykk 'enter' for fortsette."); stopp = keyboard.inWord(""); } switch (meny) { case 1: System.out.println("\nKjp et felt:"); boolean ledig = false; for (int i = 0; i < 15; i++) { for (int j = 0; j < 25; j++) { if (eier[i][j] == null) { ledig = true; } } } if (ledig = false) { System.out.println("Alle feltene er solgt."); } else { System.out.print("Oppgi feltet du vil kjpe p formen F(x,y): "); int radNr = keyboard.inInt("F(,"); int kolonneNr = keyboard.inInt(",)"); stopp = keyboard.inWord(""); if (eier[radNr][kolonneNr] == null) { System.out.print("Oljeselskapets navn: "); String eierNavn = keyboard.inWord(""); eier[radNr][kolonneNr] = eierNavn; System.out.println("\nFeltet F(" + radNr + "," + kolonneNr + ") selges til " + eierNavn + "."); } else { System.out.println("\nFeltet er allerede solgt til " + eier[radNr][kolonneNr] + "."); } System.out.println("\nTrykk 'enter' for fortsette."); stopp = keyboard.inWord(""); } break; case 2: System.out.println("\nAnnuler kjp av felt:"); System.out.print("\nNavn p oljeselskap: "); String eierNavn = keyboard.inWord(""); System.out.print("Felt skal skal annuleres (oppgi p formen F(x,y): "); int radNr = keyboard.inInt("F(,"); int kolonneNr = keyboard.inInt(",)"); if (eierNavn.equals(eier[radNr][kolonneNr])) { if (eier[radNr][kolonneNr] != null) { eier[radNr][kolonneNr] = null; System.out.println("\nFeltet F(" + radNr + "," + kolonneNr + ") er ikke lenger opptatt."); } } else { if (eier[radNr][kolonneNr] == null) { System.out.println("\nFeltet er ikke solgt enda."); } else { System.out.println("\nFeltes eies ikke av " + eierNavn + "."); } } System.out.println("\nTrykk 'enter' for fortsette."); stopp = keyboard.inWord(""); stopp = keyboard.inWord(""); break; case 3: System.out.println("\nOversiktskart:"); skjerm.out("",5); for (int j = 0; j < 25; j++) { skjerm.out(j,5); } skjerm.outln(""); for (int i = 0; i < 15; i++) { skjerm.out(i,5); for (int j = 0; j < 25; j++) { if (eier[i][j] == null) { skjerm.out(" .",5); } else { skjerm.out(" X",5); } } System.out.println(""); } System.out.println("\nTrykk 'enter' for fortsette."); stopp = keyboard.inWord(""); break; case 4: System.out.println("\nOljeselskaper"); String[] solgteFelter = new String[375]; int muligSelskap = 0; for (int i = 0; i < 15; i++) { for (int j = 0; j < 25; j++) { if (eier[i][j] != null) { boolean feltEier = false; String eierArray = eier[i][j]; for (int e = 0; e < muligSelskap; e++) { if (solgteFelter[e].equals(eierArray)) { feltEier = true; } } if (!feltEier) { solgteFelter[muligSelskap] = eierArray; muligSelskap++; } } } } for (int i = 0; i < muligSelskap; i++) { System.out.println(solgteFelter[i] + " har kjpt flgende felter: "); for (int j = 0; j < 15; j++) { for (int e = 0; e < 25; e++) { if (eier[j][e] != null) { if (eier[j][e].equals(solgteFelter[i])) { System.out.println("F(" + j + "," + e + ")"); } } } } } System.out.println("\nTrykk 'enter' for fortsette."); stopp = keyboard.inWord(""); break; case 5: System.out.println("\nOppdater oljeutvinning:"); System.out.print("\nFelt som skal oppdateres (p formen F(x,y): "); radNr = keyboard.inInt("F(,"); kolonneNr = keyboard.inInt(",)"); stopp = keyboard.inWord(""); System.out.print("\nFat olje utvunnet: "); double oppdatertFat = keyboard.inDouble(); double fat = utvunnet[radNr][kolonneNr]; utvunnet[radNr][kolonneNr] = oppdatertFat + fat; System.out.println("\nDet er utvunnet totalt " + utvunnet[radNr][kolonneNr] + " fat olje p felt F(" + radNr + "," + kolonneNr + ")."); System.out.println("\nTrykk 'enter' for fortsette."); stopp = keyboard.inWord(""); break; case 6: System.out.println("\nMaksimal oljeutvinning:"); double utvunnetMaks = 0; String eierMaks = ""; for (int i = 0; i < 15; i++) { for (int j = 0; j < 25; j++) { if (eier[i][j] != null) { if (utvunnet[i][j] > utvunnetMaks) { utvunnetMaks = utvunnet[i][j]; eierMaks = eier[i][j]; } } } } System.out.println("\n" + eierMaks + " har utvunnet mest olje med " + utvunnetMaks + " fat."); stopp = keyboard.inWord(""); break; case 7: System.out.println("\nGjennomsnittling oljeutvinning:"); int felt = 0; double olje = 0; for (int i = 0; i < 15; i++) { for (int j = 0; j < 25; j++) { if (utvunnet[i][j] == 0) { } else { olje = olje + utvunnet[i][j]; felt++; } } } System.out.println("\nGjennomsnittling oljeutvinning er " + olje / felt + " fat."); System.out.println("\nTrykk 'enter' for fortsette."); stopp = keyboard.inWord(""); break; } } }}