0 Daumen
540 Aufrufe

Aufgabe:

Schreiben Sie eine Klasse Eingabe mit einer Klassenmethode zaehlen, die einen Scanner und eine Zeichenkette s als Argument annimmt. Die Methode soll über den Scanner Zeichenketten aus der Eingabe lesen, bis zu deren Ende. Sie soll zurückgeben, wie oft der Wert von s unter den Zeichenketten vorkommt.

Beispiel: Wird die Zeichenkette "und" gesucht und lautet die Eingabe

Grund und Boden und Rock'n Roll

so ist das Ergebnis 2.

Avatar von

1 Antwort

0 Daumen

import java.util.Scanner;

public class Eingabe {

public int zaehlen(Scanner scanner, String s) {
int zaehler = 0;

while(scanner.hasNext()) { // solange noch Wörter folgen
String str = scanner.next(); // Nächstes Wort holen
if (str.equals(s)) zaehler++; // Überprüfen ob es sich um die Zeichenkette s handelt, wenn ja zaehler erhöhen
}

return zaehler;
}
}
Aufrufen kannst du das ganze (in der main-Methode) mit:

import java.util.Scanner; // oberhalb der Klasse

Scanner scanner = new Scanner("Grund und Boden und Rock'n Roll");
Eingabe eingabe = new Eingabe();
System.out.print(eingabe.zaehlen(scanner, "und"));

Avatar von

java.util.Scanner sc = new java.util.Scanner(System.in);
Eingabe.zaehlen(sc,"zwei");
--------------------------------
FEHLER: zuletzt erwarteter und tatsaechlich erhaltener Typ unterscheiden sich
erwartet: int
erhalten: class java.lang.String
================================
TestSuite fehlgeschlagen :-(

klappt irgendwie auch nicht

Vermutlich erwartet der Test den Rückgabewert der Methode, gib diesen doch einmal aus.

Also mit:

System.out.println(Eingabe.zaehlen(sc,"zwei")); 

Außerdem wäre es übersichtlicher wenn du den Scanner mit:

import java.util.Scanner;
oberhalb von public class ... importierst dann ist es möglich Scanner sc = new Scanner(System.in) zu schreiben.

ich weiss halt nicht was ich da schreiben muss im programm bin halt neu im Studium...

FEHLER: zuletzt erwarteter und tatsaechlich erhaltener Typ unterscheiden sich
erwartet: int
erhalten: class java.lang.String

das steht aber auch da weiss nicht was damit gemeint ist

Ein anderes Problem?

Stell deine Frage

Ähnliche Fragen

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community