Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


switch sats

Postades av 2003-07-15 18:49:12 - Jennie Blomgren, i forum java, Tråden har 3 Kommentarer och lästs av 1634 personer

Hejsan!

Jag ska skriva ett program som räknar och skriver ut hur många förekomster det finns av vokalerna a, e, i, o, u och y i en sträng. Utskriften ska bli som nedan.
I Strängen finns:
1 st a:n
0 st e:n
1 st i:n
osv!


Koden som jag har skrivit än så länge är:

import cs1.Keyboard;
import java.util.*;

public class lab2_6

{
public static void main (String[] args)
{

final int VOKALER = 6;

int a=0, e=0, i=0, o=0, u=0, y=0;

int other = 10;

System.out.println("Mata in stranger: ");
String line = Keyboard.readString();

System.out.println("I strängen finns: ");

for (int ch=0; ch<line.length(); ch++)
{

switch(line.charAt(ch))
{
case 'a' : a++; break;
case 'e' : e++; break;
case 'i' : i++; break;
case 'o' : o++; break;
case 'u' : u++; break;
case 'y' : y++; break;

}


men jag vet inte hur jag ska få det utskrivet, och jag vet inte om koden är rätt!
Skulle vara jättetacksam över svar :)

/Jennie


Svara

Sv: switch sats

Postades av 2003-07-16 08:33:04 - Per Malmén

En quick-n-dirty lösning är att efter for-loopen bara skriva:

System.out.println("I strängen finns:");
System.out.println(a + " st a:n");
System.out.println(o + " st o:n");
System.out.println(u + " st u:n");
System.out.println(e + " st e:n");
System.out.println(i + " st i:n");
System.out.println(y + " st y:n");

Betydligt snyggare är att bryta ut koden som räknar bokstäver till en egen metod.

/Per


Svara

Sv: switch sats

Postades av 2003-07-16 10:59:28 - Jennie Blomgren

Men programmet skriver då ut mer än en rad. Skriver jag abba t.ex. så skriver programmet ut:
0 st a:n
1 st a:n
1 st a:n
2 st a:n

Vad menar du med att man ska sätta det i egen metod?? Hur gör man det?

/Jennie


Svara

Sv: switch sats

Postades av 2003-07-18 11:20:17 - Per Malmén

att den skriver ut texten flera gånger måste bero på att du lagt utskriften inne i loopen.
Vänta med att lägga utskriften tills du har räknat färdigt eftersom det är först då som variablerna a, o, u ovs....har rätt värden.

Om du inte bryr dig om prestanda kan du enkelt lägga koden för att räkna förekomster av en bokstav i en sträng i en egen metod:

<code>
public int countLetters(String str, char letter) {

int count = 0;

for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == letter) {
count++;
}
}

return count;
}
</code>
och sen anropa den en gång för varje vokal:

<code>
String test = "abba";

System.out.println(countrLetters(test,'a') + " st a:n");
System.out.println(countrLetters(test,'o') + " st o:n");

</code>

Detta är inte alls optimalt rent prestandamässigt men det löser ditt lilla problem. För en lösning med bättre komplexitet krävs en lite mer avancerad metod.

/Per


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
679
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies