Frigg33 Skrevet 21. september 2009 Del Skrevet 21. september 2009 (endret) Heisann Jeg er ganske fersk i java, og vi har fått en oppgave hvor vi skal sjekke det en bruker skriver inn, om det er de riktige bokstavene. Jeg har egentlig fått programmet til å gjøre det det skal men med en liten feil. import java.util.Scanner; class Karakterstatistikk { public static void main(String[] args) { //Deklarasjoner Scanner tastatur = new Scanner(System.in); String karakterer = "x"; String samledeKarakterer = ""; //Utskrift System.out.println("Innlesingen avsluttes med tom linje"); //Innlesing while(karakterer.length() != 0){ System.out.print("Angi karakterer for student: "); karakterer = tastatur.nextLine(); //Hvis bruker skriver inn en ugyldig karakter if(gyldigeKarakterer(karakterer) == false){ System.out.println("Feil. Linjen inneholder ugyldige karakterer. Linjen vil bli ignorert."); } else samledeKarakterer = samledeKarakterer + karakterer; } int A = 0; int B = 0; int C = 0; int D = 0; int E = 0; int F = 0; //Finner antall karakterer for(int i=0; i<samledeKarakterer.length();i++){ if (samledeKarakterer.charAt(i) == 'A') A++; else if (samledeKarakterer.charAt(i) == 'B') B++; else if (samledeKarakterer.charAt(i) == 'C') C++; else if (samledeKarakterer.charAt(i) == 'D') D++; else if (samledeKarakterer.charAt(i) == 'E') E++; else if(samledeKarakterer.charAt(i) == 'F') F++; } //Skriver ut oversikt over antall karakterer System.out.println("Oversikt over karakterer:"); System.out.println("A: " + A); System.out.println("B: " + B); System.out.println("C: " + C); System.out.println("D: " + D); System.out.println("E: " + E); System.out.println("F: " + F); } public static boolean gyldigeKarakterer(String karakterer){ boolean returVerdi = false; char enKarakter; for (int i = 0; i < karakterer.length(); i++){ enKarakter = karakterer.charAt(i); if(enKarakter == 'A') returVerdi = true; else if(enKarakter == 'B') returVerdi = true; else if(enKarakter == 'C') returVerdi = true; else if(enKarakter == 'D') returVerdi = true; else if(enKarakter == 'E') returVerdi = true; else if(enKarakter == 'F') returVerdi = true; else{ returVerdi = false; break; } } return returVerdi; } } Eksempel på utskrift her: Innlesing avsluttes med tom linje. Angi karakterer for student: ABBA Angi karakterer for student: ABBAK Feil. Linjen inneholder ugyldige karakterer. Linjen vil bli ignorert. Angi karakterer for student: ABBA Angi karakterer for student: Feil. Linjen inneholder ugyldige karakterer. Linjen vil bli ignorert. Oversikt over karakterer: A: 4 B: 4 C: 2 D: 3 E: 0 F: 0 Jeg sliter med å få vekk den sisten "Feil. Linjen inneholder ugyldige karakterer. Linjen vil bli ignorert." linjen. Noen som vet hvordan jeg kan løse dette? LØSNING: //Hvis bruker skriver inn en ugyldig karakter if(gyldigeKarakterer(karakterer) == false){ if(karakterer.length() != 0){ System.out.println("Feil. Linjen inneholder ugyldige karakterer. Linjen vil bli ignorert."); } } else samledeKarakterer = samledeKarakterer + karakterer; } Endret 21. september 2009 av Oxaren Lenke til kommentar
vesleengen Skrevet 21. september 2009 Del Skrevet 21. september 2009 heheh... dette ser ut som en klassisk innlevering på nith Lenke til kommentar
Frigg33 Skrevet 21. september 2009 Forfatter Del Skrevet 21. september 2009 nope sorry borry, er ikke det. Men jeg regner med innleveringene i alle java-grunnkurs er mye det samme. 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å