1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Eclipse; bei In.readLine funktioniert Eingabetaste nicht?

Dieses Thema im Forum "OS X-Developer" wurde erstellt von faxe, 08.12.06.

  1. faxe

    faxe Transparent von Croncels

    Dabei seit:
    13.11.06
    Beiträge:
    305
    Hi
    Habe folgendes Problem: Wenn ich das hier laufen lasse, funktioniert meine Eingabebestätigung durch die Eingabetaste (Return) nicht. Es folgt nur ein Zeilensprung.
    Arbeite mit MacOsX am MacBook.
    ---------
    public class test {

    public static void main(String[] args) {

    System.out.print("Geben Sie 'Test' ein: ");
    String eingabe = In.readLine();

    boolean result = eingabe.equalsIgnoreCase("Test");

    if (result==true){
    Out.print("Eingabe stimmt überein! Eingabe war: "+ eingabe);
    }else{
    Out.print("Eingabe stimmt nicht überein. Eingabe war: "+ eingabe);
    }

    }

    }
    -----------
    Weiß da vielleicht wer warum das so ist?
    Danke
     
  2. faxe

    faxe Transparent von Croncels

    Dabei seit:
    13.11.06
    Beiträge:
    305
    wenn ich statt
    String eingabe = In.readLine();
    einfach
    String eingabe = "test";
    bzw
    String eingabe = "tesasdfgweradt";
    schreibe, bekomme ich jeweils das richtige Ergebnis.
    *verwirrung*
     
  3. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    Also, wenn du von Eclipse redest, dann nehm ich einfach mal an, dass du Java verwendest ^^
    Sieht mir auch sehr danach aus!
    Aber: So kann das nicht funktionieren! Zu benötigst zuerst einmal nen Objekt einer Klasse, die in der Lage ist das einzulesen. Also zum Beispiel den Scanner (Ab 1.5.0) oder aber nen Buffered Reader.
    Ich bevorzuge den Scanner.:)
    Das sähe dann so aus:

    Code:
    import java.util.Scanner;
    
    public class Test {
    
    	public static void main(String[] args) {
    		
    		Scanner scanner = new Scanner(System.in);
    		
    
    		System.out.print("Geben Sie 'Test' ein: ");
    		String eingabe = scanner.nextLine();
    
    		boolean result = eingabe.equalsIgnoreCase("Test");
    
    		if (result == true) {
    			System.out.print("Eingabe stimmt überein! Eingabe war: " + eingabe);
    		} else {
    			System.out.print("Eingabe stimmt nicht überein. Eingabe war: " + eingabe);
    		}
    
    	}
    
    }
    
    Und das funktioniert!!! :cool: Juhuuu!

    Hast du mit C oder C++ angefangen? Weil ich glaube da funktioniert das so ähnlich!

    Der Datschi
     
  4. faxe

    faxe Transparent von Croncels

    Dabei seit:
    13.11.06
    Beiträge:
    305
    nein, eh mit Java.
    Also wirklich erst angefangen! *g*

    Danke!
     
  5. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    Java Tips

    Hi, wollte Dir noch einige Java Tips geben ^^
    Guck dir für den Anfang mal son paar Klassen in den Javadocs an.

    Da wären:
    - Scanner oder BufferedReader
    - String Buffer
    - Stack
    - StringTokenizer

    Das sind alles so Sachen, mit denen du mit String um dich werfen und die verarbeiten kannst.
    Scanner und BufferedReader sind fürs Einlesen aus der Konsole zuständig, haste ja schon kennen gelernt.
    Im StringBuffer kannst du Strings Puffern, verlängern, abschneiden, was du willst.
    Der Stack ist nen Stapel, in den du Objekte legen kannst. Du kannst nach und nach Stapeln, und dann von oben wieder rausnehmen.
    In Zusammenhang mit dem StringTokenizer kannst du Strings auseinander nehmen und die Tonkens in den Stack packen. So kannst du die ersten reinpacken und dann die letzten zuerst rausnehmen. So kannst du einen String umdrehen.

    Hoffe, damit ist dir nen bissel geholfen. Bei Fragen, schreib mich einfach an!
     
  6. faxe

    faxe Transparent von Croncels

    Dabei seit:
    13.11.06
    Beiträge:
    305
    Hallo noch mal.
    Komm mit meiner Hausaufgabe gerade nicht weiter.
    Ich hab jetzt mittels deines Scanners ein String eingelesen.
    Danach hab ich die Wörter gezählt, in dem ich die Leerzeichen mit davorgehendem nichtLeerzeichen behandelt habe.
    Jetzt soll ich die Wörter im String splitten. Allerdings dürfen wir split nicht verwenden. Habs mit tokenizer probiert, allerdings weiß ich nicht wie ich das jetzt in ein Stringarray speichern soll. Nacher soll ich noch die Wörter aufsteigend sortieren.
    Kannst mir da vielleicht ein paar Hinweise geben, so dass ich vielleicht selbst drauf kommen kann!
    Danke mal
    -----
    StringTokenizer tokenizer = new StringTokenizer( text );
    while ( tokenizer.hasMoreTokens() )

    // geteilt= tokenizer.nextToken();
    System.out.print( tokenizer.nextToken() +" ");
    i=i+1;

    mit dem Tokenizer bekomm ich zwar die Wörter raus, aber ich weiß jetzt nicht wie ich sie einzeln speichern kann, damit ich sie dann sortieren kann
    -----
     
  7. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    Zuerst mal solltest du nach Suchalgorithmen googlen. Guck mal nach Bubble-Sort oder so. Gibt da ne Menge unterschiedlicher Algorithmen. Damit müsste das zu schaffen sein. Du müsstest halt die einzelnen Tokens in mindestens einen Stack packen...

    Ich muss auch erstmal gucken! Aber Sortier-Algorithmen hab ich sonst zu Hauf da.

    Der Datschi
     
    #7 Datschi, 09.12.06
    Zuletzt bearbeitet: 09.12.06
  8. quarx

    quarx Hadelner Sommerprinz

    Dabei seit:
    17.04.05
    Beiträge:
    8.541
  9. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
  10. Datschi

    Datschi Reinette de Champagne

    Dabei seit:
    08.11.04
    Beiträge:
    417
    ABER:
    substring(int beginIndex)
    Returns a new string that is a substring of this string.
    substring(int beginIndex, int endIndex)
    Returns a new string that is a substring of this string.

    Du brauch bei String.substring() halt leider nen StartIndex. Deshalb vielleicht etwas umständlich, wenn du den vorher noch ermittelst und dann den String jedes mal noch abscheiden musst.
    Also doch eher den Tokenizer, der dir die einzelnen Tokens auswürft.

    Der Datschi
     

Diese Seite empfehlen