r2d290 Skrevet 16. oktober 2009 Del Skrevet 16. oktober 2009 (endret) 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 16. oktober 2009 av r2d290 Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå