Pitäisi antaa syötteenä merkkijono(string) esim. aapeli ja sitten syötteenä annetaan vaikka 'a'(char) nyt ohjelman pitäisi tulostaa, että merkkijonossa on 2 a kirjainta
Homman saan toimimaan jos annan merkkijonon ja merkin vakiona.
No, lisäät vain koodiisi kovakoodattujen sijoitusten tilalle syötteen lukemisen. Postaushistoriastasi näkee, että sinulle on jo annettu ihan riittävästi esimerkkejä siitä, miten syötevirtaa luetaan.
public static int palauttaa(char merkki, String teksti) { int määrä = 0; for (int i = 0; i < teksti.length(); i++) { if (teksti.charAt(i) == merkki) { määrä++; } } return(määrä); } public static void main(String args[]) { Scanner lukija = new Scanner (System.in); //System.out.println("määrä = " + palauttaa('u', "kukkuluuruu"); System.out.print("Anna merkkijono: "); String merkkijono = lukija.nextLine(); System.out.print("Anna merkki: "); String s = lukija.nextLine(); System.out.println("määrä = " + palauttaa (s, merkkijono)); System.out.println(); } }
Niin tässä tämä yritys :(
Mod. lisäsi kooditagit!
palauttaa
ottaa ensimmäisenä parametrinaan char
-tyyppisen arvon, annat sille tuossa kutsussa Stringin.
System.out.println("määrä = " + palauttaa (s, merkkijono)); // ^
Muuta 'palauttaa'-metodin eka parametri String-tyyppiseksi.
Pelkkä stringiksi muuttaminen ei riitä, sillä vertailuun pitää käyttää equals-metodia.
Itse kyllä harkitisin sellaista että laittaa kutsuun s.charAt(0) ja laittaisin urputuksen tuohon merkin kysymiseen mikäli tulee muuta pituutta kuin 1 merkki.
Aihe on jo aika vanha, joten et voi enää vastata siihen.