1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Einlesen

  • Frisco
  • 27. November 2007 um 00:26
  • Unerledigt
  • Frisco
    4
    Frisco
    Mitglied
    Punkte
    100
    Beiträge
    16
    • 27. November 2007 um 00:26
    • #1

    public static String getInput( ){

    String getInput = new String();

    java.io.BufferedReader reader =
    new java.io.BufferedReader( new java.io.InputStreamReader( System.in ) );

    try{
    getInput = reader.readLine();
    System.out.println("Sie haben eingeben" + getInput);
    }
    catch ( Exception e ){
    System.out.println( getInput );
    }
    // da ist der fehler
    return getInput; //oder??
    }

    hi aufgabe war es einen string einzulesen aus der konsole
    und ich habe mir die methode so geschrieben...
    aber er bringt mir immer den fehler
    missing return statement, wisst ihr wo das mein fehler ist, den ich ja gefunden habe?!
    Aber nun geht das compilieren eine ewigkeit, wisst ihr wo da der fehler ist???
    und wie kann ich dann z.b. auf meinen text den ich eingegeben habe auf einzelne wörter zugreifen??
    danke für eure hilfe
    grüße
    simi

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 27. November 2007 um 09:20
    • #2

    Ich kann den Fehler nicht nachvollziehen: Der Code funktioniert bei mir. Wenn das Compilieren lange dauert (javac), dann kann das eigentlich kaum an Deinem Code liegen.

    Zitat von Frisco


    und wie kann ich dann z.b. auf meinen text den ich eingegeben habe auf einzelne wörter zugreifen??

    Mit der Methode [url=http://java.sun.com/javase/6/docs/….String,%20int)]String#split(String)[/url] kannst Du den Text anhand der Leerzeichen und Zeilenumbrueche trennen:

    PHP
    String[] words = input.split("\\s+");

    Alternativ kannst Du auch gleich zu Beginn nur einzelne Woerter einlesen, anstatt erst alles einzulesen. Also z.B. statt readLine() den Stream Byteweise einlesen. Weil das mit dem BufferedReader etwas muehsam ist, gibt es seit Java 6 die Klasse java.util.Scanner, mit der das einfacher geht.


    Dann hast Du hier noch einen kleinen Fehler:

    PHP
    String getInput = new String();

    Der Name 'getInput' deutet an, das die Variable etwas tut. Das ist aber nicht der Fall: Die Variable stellt aber einfach den Text dar, den Du eingelesen hast. Das 'Input holen' tut ja die Methode und nicht die Variable. Also 'input' oder 'text' waehren passender.

    lg, Benjamin Ferrari, bookworm.at

  • Kampi
    27
    Kampi
    Mitglied
    Reaktionen
    193
    Punkte
    7.828
    Beiträge
    1.468
    • 27. November 2007 um 10:36
    • #3
    Zitat von a9bejo

    Ich kann den Fehler nicht nachvollziehen: Der Code funktioniert bei mir.


    das ist leicht erklaert: gestern war im code noch kein "return getInput; //oder??", den teil hat er ueber nacht dazu geschummelt. ohne hat es natuerlich zu einem "missing return statement" gefuehrt, no na ned.
    und warum hab ich ihm das nicht schon gestern verraten? weils mir am sack geht, dass die leute einfach keine code-tags verwenden.

    Willfähriges Mitglied des Fefe-Zeitbinder-Botnets und der Open Source Tea Party.

  • Frisco
    4
    Frisco
    Mitglied
    Punkte
    100
    Beiträge
    16
    • 27. November 2007 um 17:40
    • #4

    okey habe nun den Fehler rausgefunden und ihn ja auch verbessert.
    leider kann ich gar nicht mal einen text eingeben....
    oh mann wie geht denn dass??
    Wenn ich auf Ausfürhen gehe, dann kommt die endlosschleife und ich kann noch nicht mal einen text eingeben:(
    wir programmieren mit blueJ

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 27. November 2007 um 17:54
    • #5

    Naja, poste mal deinen Code, wie du ihn jetzt hast. Keine Ahnung, was du da alles ausgebessert hast, was du geschrieben hast...
    Und wie schon erwähnt, verwende code-Tags sonst kannst es genauso gut auf einen Baum im Wald eingravieren.

  • Frisco
    4
    Frisco
    Mitglied
    Punkte
    100
    Beiträge
    16
    • 27. November 2007 um 19:02
    • #6
    Zitat


    import java.io.*;
    import java.io.Console;

    public class Übung05{

    public static String getInput( ){


    String input = new String();

    java.io.BufferedReader reader =
    new java.io.BufferedReader( new java.io.InputStreamReader( System.in ) );

    System.out.println( "Eingabe: ");
    try{
    input = reader.readLine();

    }
    catch ( Exception e ){
    }
    System.out.println( "sie habe eingegeben " + input );

    return input;
    }


    public static void main(String... args){

    getInput();
    }
    }

    Alles anzeigen

    also meine Eingabe läuft nun endlich :)
    wie kann ich nun eine neue methode schreiben, damit ich die einzelnen buchstaben aufzählen kann
    also wenn ich "Anna" eingebe, dass er mir ausgibt
    a=2 n=2
    Also ich denke dass ich vielleicht so vorgehen sollte und zwar die string eingabe in einen array umwandeln?? (wenn ja wie) und dann auf die einzelnen elemente zugreife und diese abfrage oder gibt es da eine einfachere methode??

    grüße simi

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 27. November 2007 um 19:14
    • #7
    Zitat von Frisco

    die string eingabe in einen array umwandeln?? (wenn ja wie)

    Schau Dir einfach mal die Klasse String an, was die alles machen kann:

    http://java.sun.com/javase/6/docs/api/java/lang/String.html

    Da findest Du schon was.

    PS: Der Sinn und Zweck von diesen CODE tags in den Postings ist es , das man die Einrückung des Textes sehen kann. Das macht aber natuerlich nur Sinn, wenn Dein Text ueberhaupt sinnvoll eingerückt ist. So wie jetzt sieht dein Code noch genauso unleserlich aus wie vorher.

    lg, Benjamin Ferrari, bookworm.at

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 27. November 2007 um 20:50
    • #8

    Hallo Frisco,

    Ich weiss nicht genau, warum Du mir Diese beiden Fragen als private Messages geschickt hast:

    Zitat von Frisco


    okey und wie rückte man dann einen solchen text gut ein??

    Zitat von Frisco


    könntest du mir nicht vielleicht denn quellcode einigermaßen in groben schritten aufschreiben, wäre dir echt sehr dankbar...

    Aber wenn Du nicht weißt wie man Code einrückt oder wie man eine Klasse anhand ihrer Dokumentation benutzt, dann bin ich mir sicher, das Du dir bis jetzt noch nicht besonders viel Zeit genommen hast, um die Grundlagen zu lernen.

    Ich kann Dir hier nicht alles erklären, was Du wissen musst. Aber hier findest Du ein paar Bücher, die Dir weiterhelfen können: http://www.informatik-forum.at/showthread.php?t=56323.

    lg, Benjamin Ferrari, bookworm.at

  • Frisco
    4
    Frisco
    Mitglied
    Punkte
    100
    Beiträge
    16
    • 28. November 2007 um 01:19
    • #9

    Danke für deiner Ernüchterung, also ich habe mich nun intensiv, also bis jetzt mit der matierie beschäftig und habe etwas gefunden.
    unzwar mit dem befehl to.charArry(); müsste meinen string in ein Array umwandeln. Aber nun ist mein Porblem schriebe ich die in die gleiche Methode oder kann ich auch eine neue Methode anfangen? und zum vergleichen der buchstaben verwende ich den Ausdruck "split" könnte jemand mit mir zusammen nmal machen, wie ich aus der API documents sowas anwenden kann, es soll mir keiner vorsagen wie ich es machen soll, nur mal am anfang mir helfen wie ich da anfange....

  • gelbasack
    25
    gelbasack
    Mitglied
    Reaktionen
    90
    Punkte
    6.525
    Beiträge
    1.241
    • 28. November 2007 um 10:30
    • #10

    Hast du dir mal die Beispiele bei split angesehen? Das teilt einen String bei bestimmten Ausdrücken in mehrere Strings. Du willst die einzelnen Chars des Strings in einem Array. Dazu gibt's die Methode toCharArray() - hast du wirklich alle Methoden von String durchgelesen? Würde ich mal machen inkl. der Kurzbeschreibung. Führt dich vielleicht nicht schnell zum Ziel aber bringt dich eher weiter...
    Also:

    Code
    String foo;
    char bar[] = foo.toCharArray();


    Eine Methode rufst du immer über die Instanz einer Klasse auf. toCharArray() ist in der Klasse String. foo ist ein String, also eine Instanz von String. Du schreibst dann einfach einen "." und hängst den Methodennamen dran.

    Die zweite Möglichkeit wäre, dass du überhaupt kein char Array erzeugst, sondern einfach die Methode charAt() verwendest.

  • Frisco
    4
    Frisco
    Mitglied
    Punkte
    100
    Beiträge
    16
    • 28. November 2007 um 20:19
    • #11

    Danke für eure Hilfe, ich werde nun in Zukunft mich mehr anstrengen und nicht euch die aufgabe machen lassen, da ich nun die aufgabe selber *freu*
    gemacht habe, fing ich an ein bissel zu spieln, und zwar würde ich gerne wissen, wenn ich einen String einlese, kann ich ihn dann einfach mit dem befehl: als bsp.
    string str=25;
    Double d = Double.valueOf(str).doubleValue();
    zudem ginge dann der befehl um diese double zahl in eine dualzahl umzuwandeln mit dem befehl:
    string binaer = Double.toBinaryString(dezimal);
    System.out.println(binaer);
    oder ist das doppel gemoppelt??

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung