Scanner mit String

Michbeck

Neues Mitglied
Hallo zusammen,
ich habe dieses Jahr eine Ausbildung zum IT Elektroniker angefangen und hab nun auch Java in der Schule(3 std in der Woche). Da ich mich schon vorher für HTML und CSS interressiert habe bin ich dem Unterricht schon etwas vorraus.Jetzt bin ich auf ein Problem gestoßen was ich alleine nicht lösen konnte bis jetzt.

Ich habe eine Klasse Input :

Java:
import java.util.Scanner;

class Input {

  public static int readInt(String prompt) {
    System.out.print(prompt);
    Scanner sc = new Scanner(System.in);
    return sc.nextInt();
  }
  
  public static double readDouble(String prompt) {
    System.out.print(prompt);
    Scanner sc = new Scanner(System.in);
    return sc.nextDouble();
  }

und eine Klasse Test(die auf Input "zugreift"):

Java:
class Test {

  public static void main(String[] args) {
    int i = Input.readInt("Ganzzahl: ");
    System.out.println(i);
    double d = Input.readDouble("Kommazahl: ");
    System.out.println(d);

  }
}
Das funktioniert soweit.
jetzt würde ich gern auch einen String einlesen und hab dementsprechend geschrieben:

Java:
class Input {

  public static int readString(String prompt) {
    System.out.print(prompt);
    Scanner sc = new Scanner(System.in);
    return sc.nextString();
  }
Java:
class Test {

  public static void main(String[] args) {
    int i = Input.readString("Wort: ");
    System.out.println(i);

  }



...aber das funktioniert nicht.Hab auch schon alles mögliche probiert in meiner Unwissenheit, aber leider hat nichts funktioniert.
Kann mir jemand einen Tip geben was ich falsch mache?
Fehler beim compilieren von Klasse Input:
Code:
Compiliere J:\java\java\WORKSPACE\Input.java mit Java-Compiler
Input.java:20:14: cannot find symbol
symbol  : method nextString()
location: class java.util.Scanner
    return sc.nextString();
             ^
1 error
Gruß Michbeck
 
Zuletzt bearbeitet von einem Moderator:
Poste mal deine Fehlermeldungen. An Hand der Fehlermeldungen lassen sich dann deine Fehler auch für dich nachvollziehbar erläutern.
 
du musst natürlich auch als Rückgabewert einen String haben

Java:
 public static String readString(String prompt) {

edit: und natürlich auch beim Aufrufen:
Java:
String s = Input.readString("Wort: ");
 
Du rufst die Methode
Java:
sc.nextString();
auf. Sollte wohl
Java:
sc.nextLine();
heißen, da es die Methode nextString nicht gibt.
Dann sollte der Rückgabewert der Methode String sein und nicht int, usw...
 
Zuletzt bearbeitet:
du musst natürlich auch als Rückgabewert einen String haben

Java:
 public static String readString(String prompt) {

edit: und natürlich auch beim Aufrufen:
Java:
String s = Input.readString("Wort: ");


Da hast du recht , das war aber nur ein Fehler beim abtippen , als ich ins Forum geschrieben habe.
Sorry dafür.

Du rufst die Methode

1 sc.nextString();

auf. Sollte wohl

1 sc.nextLine();

heißen, da es die Methode nextString nicht gibt.
Dann sollte der Rückgabewert der Methode String sein und nicht int, usw...

Das wars! Vielen Dank.
 

Zurück
Oben