Gå til innhold

Anbefalte innlegg

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? :wow:

Endret av Whiteshit
Lenke til kommentar
Videoannonse
Annonse

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
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. :D

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

/*
* 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

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...