• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Eclipse; bei In.readLine funktioniert Eingabetaste nicht?

faxe

Transparent von Croncels
Registriert
13.11.06
Beiträge
306
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
 

faxe

Transparent von Croncels
Registriert
13.11.06
Beiträge
306
wenn ich statt
String eingabe = In.readLine();
einfach
String eingabe = "test";
bzw
String eingabe = "tesasdfgweradt";
schreibe, bekomme ich jeweils das richtige Ergebnis.
*verwirrung*
 

Datschi

Reinette de Champagne
Registriert
08.11.04
Beiträge
415
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
 

faxe

Transparent von Croncels
Registriert
13.11.06
Beiträge
306
nein, eh mit Java.
Also wirklich erst angefangen! *g*

Danke!
 

Datschi

Reinette de Champagne
Registriert
08.11.04
Beiträge
415
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!
 

faxe

Transparent von Croncels
Registriert
13.11.06
Beiträge
306
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
-----
 

Datschi

Reinette de Champagne
Registriert
08.11.04
Beiträge
415
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
 
Zuletzt bearbeitet:

Datschi

Reinette de Champagne
Registriert
08.11.04
Beiträge
415
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