Gå til innhold

[Løst]Trenger hjelp med å skrive noe til et array


Anbefalte innlegg

edit: har fått hjelp med problemet, så setter tråden til løst

 

Trenger litt hjelp med å fullføre Case4. Det er meningen at Case2 skal skrive hvem som eier en tomt, og hva som har blitt bygget på denne tomten. Jeg har fått til å la den fortelle hvem som er eieren ved å skrive inn det som blir skrevet av brukeren, men når jeg skal få den til å fortelle hva som er bygget på tomten fikk jeg litt problemer med å angi hva som er hva...

 

Oppdaget også at jeg har en error (jeg får ingen feil når jeg kompilerer med emacs, men når jeg skal kjøre programmet med NetBeans får jeg et spørsmål om jeg har lyst til å kjøre programmet selvom den har oppdaget en feil). Fint om noen kan ta seg tid til å se gjennom koden og se om dere kan hjelpe meg litt :)

 

(Regner med at man kan få koden til å se "fin" ut igjen hvis man legger den inn i netbeans og tar beautify...

 

 

 

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

 

/*

**TODO-list**

-I case 1, gjør det mulig å skrive over en eiers tomt

-I case 2, la case 4 inngå i teksten.

*/

 

package oblig2;

 

import java.util.Scanner;

 

/**

*

* @author Eirik

*/

public class Main {

 

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

String[][] eier = new String[11][14];

String[][] husType = new String[11][14];

while (true) {

 

//Printer ut hvilke valgmuligheter man har i starten av programmet

System.out.println("");

System.out.println("");

System.out.println("Du har f�lgende valgmuligheter:");

System.out.println("1) Kj�p felt");

System.out.println("2) Lag feltliste");

System.out.println("3) Lag oversiktskart");

System.out.println("4) Rapporter bygging");

System.out.println("5) Lag statistikk");

System.out.println("6) Avslutt");

 

int tall = input.nextInt();

switch (tall) {

case 1:

//case 1 gir mulighet til å kjøpe et felt.

System.out.println("Oppgi feltet som �nskes kj�pt:");

 

//Følgende kode gjør det mulig å skrive et felt i form av f.eks "3-6" på en linje.

String felt = input.next();

felt += input.nextLine();

 

int pos = felt.indexOf('-');

 

int kolNr = Integer.valueOf(felt.substring(0, pos));

int radNr = Integer.valueOf(felt.substring(pos + 1));

 

//Hvis et felt ikke har blitt kjøpt fra før, kan man skrive inn hvem som ønsker å overta tomten.

if (eier[kolNr][radNr] == null) {

System.out.println("Oppgi selskapets navn:");

String navn = input.next();

navn += input.nextLine();

eier[kolNr][radNr] = navn;

System.out.println("Selskapet '" + eier[kolNr][radNr] + "' er ny eier av tomten " + felt);

}

 

//Hvis tomten allerede er eid av et selskap, får man 1 av 2 beskjeder. Enten at feltet er opptatt, eller at du alerede eier selskapet.

else if (eier[kolNr][radNr] != null) {

System.out.println("Oppgi selskapets navn:");

String navn = input.next();

// String navn2 = input.next();

if (eier[kolNr][radNr].equals(navn)) {

eier[kolNr][radNr] = navn;

System.out.println("Du eier alerede denne tomten");

}

else {

navn += input.nextLine();

// eier[kolNr][radNr] = navn;

System.out.println("Felt " + felt + " eies alerede av '" + eier[kolNr][radNr] + "'. �nsker du � endre dette?");

}

 

}

//end if

break;

 

case 2:

//Case 2 gir en oversikt over hvilke felt som allerede er kjøpt, og hva som eventuelt er bygget på denne tomten.

for (int i = 0; i < eier.length; i++) {

for (int j = 0; j < eier.length; j++) {

if (eier[j] != null) {

 

System.out.println("Felt " + i + "-" + j + " eies av " + eier[j] + ". På tomten er det bygget et" + husType[j]);

}

}

}

 

 

break;

case 3:

//Case 3 lager et oversiktskart over hvilke tomter som er bygget på, og hvilke som står tomme.

System.out.println(" 0 1 2 3 4 5 6 7 8 9 10 11 12 13");

System.out.println(" __________________________________________"); //lager den øverste streken rundt tabellen

int teller = 0;

for (int i = 0; i < eier.length; i++) {

if (i < 10) {

System.out.print(" " + i + "|");//lager den venstre streken i tabellen

}

else if (i == 10) {

System.out.print(i + "|");//lager den venstre streken i tabellen

}

for (int j = 0; j < eier.length; j++) {

if (eier[j] != null) {

System.out.print(" x ");//Lager et kryss for de feltene som er kjøpt.

teller = teller +1;

} //end if

else if (eier[j] == null) {

System.out.print(" . ");//Lager et punktum for de feltene som står usolgt.

} //end else if

 

} //end for

System.out.println("|");//Lager den venstre streken rundt tabellen.

} //end for

System.out.println(" |__________________________________________|");//lager den nederste streken i tabellen

System.out.println();

double prosent = ((double)teller)*100/130;

System.out.printf("Det er solgt %d tomter. Det tilsvarer %.1f %s prosent",teller,prosent,"%");//Regner ut antall solgte tomter, og denne verdien i prosent.

break;

case 4:

//Gir muligheten til å angi hva som er bygget på hver tomt.

System.out.println("Oppgi feltet som det ønskes byggetilatelse på:");

 

//Følgende kode gjør det mulig å skrive et felt i form av f.eks "3-6" på en linje.

String felt2 = input.next();

felt2 += input.nextLine();

 

int pos2 = felt2.indexOf('-');

 

int kolNr2 = Integer.valueOf(felt2.substring(0, pos2));

int radNr2 = Integer.valueOf(felt2.substring(pos2 + 1));

 

//Hvis et felt ikke har blitt kjøpt, skal det ikke være mulig å bygge noe på tomten.

if (eier[kolNr2][radNr2] == null) {

System.out.println("Et selskap må eie tomten før du kan be om byggetilatelse på den.");

 

} else if (eier[kolNr2][radNr2] != null) {

 

System.out.println("Oppgi selskapets navn:");

String navn = input.next();

String hus = input.next();

// String navn2 = input.next();

if (eier[kolNr2][radNr2].equals(navn)) {

eier[kolNr2][radNr2] = navn;

husType[kolNr2][radNr2] = hus;

System.out.println("Velg hva slags type hus som skal bygges:");

System.out.println("1) Trehus");

System.out.println("2) Murhus");

System.out.println("3) Stråhus");

System.out.println("4) Laftehus");

System.out.println("5) Hytte");

System.out.println("6) Hotell");

int tall2 = input.nextInt();

switch (tall2) {

case 1:

//String navn2 = input.next();

//navn2 += input.nextLine();

 

//eier[kolNr2][radNr2] = navn;

eier[kolNr2][radNr2] = navn;

System.out.println("Det har nå blitt registrert et" + husType + " ypå tomten til " + eier[kolNr2][radNr2]);

break;

case 2:

System.out.println("case 2 er valgt");

break;

}

}

else {

navn += input.nextLine();

System.out.println("Felt " + felt2 + " eies alerede av '" + eier[kolNr2][radNr2] + ". Du må kjøpe denne tomten før du kan bygge noe der");

}

} //end else if

break;

 

case 5:

System.out.println("ikke laget enda");

break;

case 6:

//Avslutter programmet.

System.exit(0);

break;

 

default:

System.out.println("Tast inn et tall mellom 1 og 6"); //Denne beskjeden kommer opp hvis brukeren ikke har gjort som h*n fikk beskjed om.

} //end switch

 

// TODO code application logic here

} //end while

} //end arg

} //end main

 

 

 

Endret av r2d290
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...