Mal wieder eine Java Frage:P

AMD_Rulez

Lieutenant
Registriert
Feb. 2010
Beiträge
582
Hallo

ich suche einen befehl zum löschen einer zeile.

ich programmiere java momentan im crimson editor, der das ergebnis eines quellcodes gleich in einem unteren fenster ausgibt.

im moment habe ich ein spiel programmiert in dem am anfang eine zahl von der ersten person eingegeben wird. die zweite person soll diese zahl nicht wissen und sie durch eingab innerhalb von 10 versuchen erraten.

nun ist es natürlich doof dass die von der ersten person eingegebene zahl immer noch im ausgabe fenster steht. deshalb brauche ich einen befehl um diese zeile zu löschen.

hier mein quellcode:

import java.util.*;

public class Zahlenspiel
{
public static void main (String argv[])
{
int gesuchte;
int eingabe;
int versuche = 10;

Scanner input = new Scanner(System.in);

System.out.println("Geben Sie die Zahl ein die geucht werden soll: ");

do
{

gesuchte = Integer.parseInt(input.nextLine());
if (gesuchte>100) {
System.out.println("Fehler! Geben Sie bitte eine Zahl zwischen 0 und 100 ein.");
}
}while (gesuchte>100);

System.out.println("Sie haben eine Zahl gewählt");
System.out.println("Geben Sie nun die Zahl ein, die Ihrer Meinung nach gesucht wird: ");

do
{
eingabe=Integer.parseInt(input.nextLine());
if (eingabe>gesuchte)
{
System.out.println(+eingabe+" ist höher als die gesuchte Zahl. Geben Sie bitte eine neue Zahl ein: ");
System.out.println("Sie haben noch "+versuche+" Versuche frei.");
versuche--;

}

if (eingabe<gesuchte)
{
System.out.println(+eingabe+" ist niedriger als die gesuchte Zahl. Geben Sie bitte eine neue Zahl ein: ");
System.out.println("Sie haben noch "+versuche+" Versuche frei.");
versuche--;

}
}while (eingabe!=gesuchte && versuche > 0); //do

if (versuche > 0)
{
System.out.println("Herzlichen Glückwunsch!!! Sie haben das Spiel in "+(10-versuche)+" von 10 Versuchen abgeschlossen");
}

else
{
System.out.println("Leider Verloren!");
}

} //public static void main (String argv[])
} //public class Zahlenspiel


vielen dank im vorraus;)
 
ich habe diese funktion auch schon gesucht. mit reinem java ist es meines wissens nach NICHT möglich Zeilen der Konsole zu löschen...
 
Versuch mal System.out.close();
 
Du kannst aber auch versuchen eine Statusmeldung in Form eines kleinen Hinweisfensters auszugeben.

Bitte frag jetzt nicht nach dem Befehl, er fällt mir gerad nicht ein.
 
@Develope_PC

was meinst du mit statusmeldung? wie soll das aussehen also grafisch?

@petap
ich schreibe unter "gesuchte = Integer.parseInt(input.nextLine());" also einfach "System.out.close(); " oder wie?
 
Die ist grafisch.
In einem Javabuch für Kids steht der Befehl, aber ich finde es gerade nicht.
 
Sry, hatte deine Frage nicht richtig verstanden.

Java schreibt in einem Stream auf die Standartausgabe des Betriebssystem, hat aber keine weitere Kontrolle darüber. Entweder greifst du dann mit Java auf die Konsole zu und löscht sie über das OS (Achtung: das ist plattformabhängig) oder du machst es direkt grafisch (was das Mittel der Wahl sein sollte). Die Konsole "einfach" über Java löschen ist nicht drin.
 
okay danke das wollte ich wissen;) also muss ich mich bei java jezt auch ins grafische einarbeiten:D
 
Hi,

System.out.close(); ist eine blöde Idee. Mal davon abgesehen, dass das für die EINgaben nicht funktioniert, kann man danach keine Ausgaben mehr auf die Konsole machen.

Um das Ganze mit Java-Bordmitteln zu machen, muss man entweder die GUI-Klassen verwenden oder -wenn man auf die Konsole besteht-, könnte man einen Thread benutzen, der die Eingabe direkt wieder löscht. Wird beides hier beschrieben:
http://java.sun.com/developer/technicalArticles/Security/pwordmask/

Falls du Java 6 verwendest, kannst du auch die neue Klasse Console benutzen:
Code:
Console console = System.console();
char passwordArray[] = console.readPassword("Enter your secret password: ", null);
String pw = new String (passwordArray);
Das funktioniert allerdings nicht bei Aufruf innerhalb einer IDE (Eclipse, Netbeans, ...), da System.console() dann null zurückliefert!

BTW: Wenn du schon die Klasse Scanner verwendest, warum nutzt du dann nicht die Methode nextInt() anstatt Integer.parseInt(input.nextLine())?
 
so hatte ich es vorher stehen aber bin dann wieder umgestiegen, da ich sonst durch einander komme. auch wenns sich doof anhört.
 
Zurück
Oben