Whiteshit Skrevet 15. mars 2004 Del Skrevet 15. mars 2004 (endret) Korleis kan en klare å telle kor mange forskjellige bokstaver som er brukt i en setning? først konvertere alt til store bokstaver, så har eg mine anelser om at en skal koknvertere det til chars osv, men korleis gjer eg det i praksis? Endret 16. mars 2004 av Whiteshit Lenke til kommentar
Kenneth_S Skrevet 15. mars 2004 Del Skrevet 15. mars 2004 Antall tegn i en String s medregnet mellomrom: s.length(); Antall tegn i en String s uten å ta med mellomrom: String[] tabell = s.split(" "); //splitter på mellomrom int antall = 0; for(int i=0;i<tabell.length;i++) antall += tabell[i].length(); System.out.println("Strengen er på " + antall +" tegn"); Og det finnes helt sikkert en mer korrekt og grasiøs måte å løse dette på. Men det funker (tror eg). Lenke til kommentar
Whiteshit Skrevet 15. mars 2004 Forfatter Del Skrevet 15. mars 2004 Antall tegn i en String s medregnet mellomrom: s.length(); Antall tegn i en String s uten å ta med mellomrom: String[] tabell = s.split(" "); //splitter på mellomrom int antall = 0; for(int i=0;i<tabell.length;i++) antall += tabell[i].length(); System.out.println("Strengen er på " + antall +" tegn"); Og det finnes helt sikkert en mer korrekt og grasiøs måte å løse dette på. Men det funker (tror eg). Ja ok, men då trur eg eg formulerte meg litt dårlig. Skal prøve å finne ut kor mange ganger bokstaven A blir brukt i en setning, og B og C osv... Først skriver du inn en setning, og så får du ut kor mange ganga dei forskjellige bokstavane er brukt. Lenke til kommentar
Kenneth_S Skrevet 16. mars 2004 Del Skrevet 16. mars 2004 /* * tellTegn2.java * * Created on 16. mars 2004, 08:54 */ /** * * @author Kenneth_S */ public class tellTegn2 { private final String ALFABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ"; private int teller[] =new int[ALFABET.length()]; /** Creates a new instance of tellTegn2 */ public tellTegn2() { for(int i=0;i<teller.length;i++) teller[i]=0; } /** * @param args the command line arguments */ public static void main(String[] args) { tellTegn2 tt = new tellTegn2(); tt.tellChars("Dette er en forholdsvis lang string\n" + "test the quick brown fox jumps over the lazy dog\n" + "Og her er noen norske tegn: æ ø å"); } /** *Metode for å telle antall ganger de ulike tegnene har blitt brukt *@param str Stringen som skal char-telles */ public void tellChars(String str) { str = str.toUpperCase(); char ch; for(int i=0;i<str.length();i++) { ch = str.charAt(i); switch (ch) { case 'A': teller[0]++; break; case 'B': teller[1]++; break; case 'C': teller[2]++; break; case 'D': teller[3]++; break; case 'E': teller[4]++; break; case 'F': teller[5]++; break; case 'G': teller[6]++; break; case 'H': teller[7]++; break; case 'I': teller[8]++; break; case 'J': teller[9]++; break; case 'K': teller[10]++; break; case 'L': teller[11]++; break; case 'M': teller[12]++; break; case 'N': teller[13]++; break; case 'O': teller[14]++; break; case 'P': teller[15]++; break; case 'Q': teller[16]++; break; case 'R': teller[17]++; break; case 'S': teller[18]++; break; case 'T': teller[19]++; break; case 'U': teller[20]++; break; case 'V': teller[21]++; break; case 'W': teller[22]++; break; case 'X': teller[23]++; break; case 'Y': teller[24]++; break; case 'Z': teller[25]++; break; case 'Æ': teller[26]++; break; case 'Ø': teller[27]++; break; case 'Å': teller[28]++; break; } } System.out.println("Stringen \"" + str + "\" inneholder disse bokstavene:"); for(int i=0;i<ALFABET.length();i++) { System.out.println(ALFABET.charAt(i) + " : " + teller[i]); } } } Sloppykode Trademark Kenneth_S 2004. Forbedringspotensialet er stort. Lenke til kommentar
Whiteshit Skrevet 16. mars 2004 Forfatter Del Skrevet 16. mars 2004 Jupp, litt sloppy der med all den gjentakelsen... har funne ut av det no. 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å