Just nu i M3-nätverket
Jump to content

Nybörjarproblem


Crim

Recommended Posts

Har tagit mina första stapplande steg i java nu, tidigare asp-programmerare...nu är min fråga;

 

Hur gör man ett så simpelt program som möjligt som låter användaren skriva in en sträng och därefter skriver ut antalet förekomster utav varje vokal i strängen...

 

som sagt, programmet ska vara så enkelt som möjligt och kunna köras i dos...

 

tack på förhand..

Link to comment
Share on other sites

Ronnie Kilsbo

Naturligtvis går det att köra javaprogram i "DOS", förutsatt att det är Windows 98 eller senare version av windows.

 

JVM's finns att ladda ner från java.sun.com för Windows 98, Windows ME, Windows 2000 och Windows XP.

 

Link to comment
Share on other sites

-Patrik Johansson-

Hej

Först måst du ha java installerat, här kan du hämta det:

http://java.sun.com/j2se/1.4/download.html

 

Sedan så skapar man en klass, i detta fall ReadVocals.java

med följande kod:

import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;

public class ReadVocals{
   private static String vokalerna = "aouiåäöeAOUIÅÄÖE";
   public static void main(String[] args) throws IOException{
InputStreamReader reader = new InputStreamReader(System.in);
BufferedReader lineReader = new BufferedReader(reader);
System.out.println("Mata in en sträng: ");

String theString = lineReader.readLine();
int antalVokaler = 0;

for(int i= 0;i< theString.length(); i++){
    if(vokalerna.indexOf(theString.substring(i,i+1)) != -1)
    antalVokaler++;
}
System.out.println("Antal vokaler är: " + antalVokaler);
   }	

}

 

Så här läses en sträng in som senare loopas igen tecken för tecken. Varje tecken jämför man med de tekcen som är godkända i variabeln vokalerna.

Om ett tecken påträffas så ökas variabeln antalVokaler med ett.

 

Obsevera att vokalernavariabeln inte stämmer!

 

/Neox -(Patrik J)

”Gravitation can not be held responsible for people falling in love”
- citat av Albert Einstein

 

[inlägget ändrat 2002-11-27 13:04:21 av Patrik J Johansson]

Link to comment
Share on other sites

  • 2 weeks later...

Tack för svaren, nu till nästa problem :). Om man vill att programmet listar antalet förekomster utav varje vokal istället för att lista den sammanlagda mängden vokaler hur ska d se ut då?

 

Tack på förhand

 

 

 

Link to comment
Share on other sites

-Patrik Johansson-

Hej

Detta kan göras på flera sätt men vi tar det enklaste dvs att man har 8 integervariabler som startar på noll.

int vokalI, vokalU osv = 0;

Detta lägger du innan forloopen.

I ifsatsen i forloopen lägger du denna kod:

if(theString[i].equalsIgnoreCase("i"))
vokalI++;
else if(theString[i].equalsIgnoreCase("j"))
vokalJ++;
osv

Sist skall då antalVokaler++; komma för att du skall kunna räkna antalet vokaler.

 

Man kan tänka sig att använda en array här med ett element för varje vokal och öka det betsäma elemetet med ett men i en sådan här liten applikation är det knappast nödvändigt.

 

/Neox -(Patrik J)

”Gravitation can not be held responsible for people falling in love”
- citat av Albert Einstein

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...