AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Java-Frage

Ein Thema von Störtebeker · begonnen am 17. Sep 2007 · letzter Beitrag vom 17. Sep 2007
Antwort Antwort
Benutzerbild von Störtebeker
Störtebeker

Registriert seit: 9. Jul 2007
398 Beiträge
 
#1

Java-Frage

  Alt 17. Sep 2007, 15:21
Hallo,

wir haben in Informatik mit der Sprache JAVA angefangen und ein Programm zusammengebastelt, das anhand von eingegebenen Informationen herausfinden soll, ob aus den Längen ein Dreieck gebildet werden kann, oder nicht. Ob es rechtwinklig ist oder nicht.

Folgender Code:

Code:
import java.io.*;
public class triangle
public static void main(String[] arsg)
{
int a,b,c;

System.out.print("Welcome");
System.out.print(\nPlease enter your first number:\t");
a = Tastatur.liesInt ( );
System.out.print("Please enter your seco. number:\t")
b = Tastatur.liesInt ( );
System.out.print("Please enter your third number:\t")
c = Tastatur.liesInt ( );

if (a+b>c &&b+c>a &&a+c>b)
System.out.print("According to the entered information it is possible to create a triangle");
else
System.out.print("According to the entered information it isn´t possible to create a triangle");

if (a*a+b*b==c*c || b*b+c*c==a*a || a*a+c*c==b*b)
System.out.print("According to the entered information it is a right-angled triangle");
else
System.out.print("According to the entered information it isn´t a right-angled triangle");

}
}
Soweit so gut. Das Programm erscheint in einem DOS-Fenster und als letzte Meldung steht: Drücken Sie eine beliebige Taste. Drückt man eine Taste, verschwindet das Programm. (wird beendet).

Nun zu meiner Frage:

Wie könnte man es realisieren, dass ne Abfrage kommt, dass wenn ich auf "Y" drücke, das Programm von vorne anfängt, und wenn ich auf "N" drücke, dass Programm beendet wird?

Ich würde das Programm erstmal erweitern mit:

Code:
.
.
.
System.out.print("According to the entered information it isn´t a right-angled triangle");
System.out.print("Click Y to reset the programm or N to quit");
so, wie gehts jetzt aber weiter?

mfG
Störtebeker

THX. schon mal im voraus.

P.S.: Das mit dem Englisch habe ich selber gewählt. Bin JAVA-Neuling.
P.S.:Falls ich jetzt im Quelltext was vergessen habe, bitte mit angeben. Habe den Text aus dem zusammengebastelt, was ich noch im Kopf hatte.

[edit=Phoenix]Delphi- in Code-Tags geändert.. wegen den {} in java... Mfg, Phoenix[/edit]
"And he piled upon the whale´s white hump - a sum of all the rage and hate felt by his whole race.
If his chest had been a cannon, he would have shot his heart upon it."
  Mit Zitat antworten Zitat
17. Sep 2007, 15:23
Dieses Thema wurde von "Matze" von "Klatsch und Tratsch" nach "Programmieren allgemein" verschoben.
Das passt hier besser hin.
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Java-Frage

  Alt 17. Sep 2007, 15:27
Mach dich mal (zB in der JavaInsel) mit dem InputStream vertraut

//Edit:
Dass man in einem so kleinen Post so viele Fehler machen kann
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

Re: Java-Frage

  Alt 17. Sep 2007, 16:02
Zitat von Störtebeker:
Hallo,


Wie könnte man es realisieren, dass ne Abfrage kommt, dass wenn ich auf "Y" drücke, das Programm von vorne anfängt, und wenn ich auf "N" drücke, dass Programm beendet wird?
Die Grundkonstruktion ist hier folgende:
Code:
do
{
  //...
  //...
  writeln('press y to start again')
  char eingabe = readln();
}
while (eingabe == 'y')
Ist jetzt nur so zusammengetippt, damit das Prinzip klar ist
(Hab zwar 2 Jahre mit Java geproggt, aber sowas haben wir da nicht gemacht ... ^^)
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Java-Frage

  Alt 17. Sep 2007, 16:32
Jo, im Prinzip richtig.
Wie gesagt, braucht man für das eigentliche Lesen einen InputStreamReader. Der liest - wie der Name schon sagt - aus einem InputStream. Da bietet sich (analog zur Ausgabe mit dem OutputStream System.out) natürlich System.in an
Sieht also folgendermaßen aus:
Code:
BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
String s = input.readLine();
Erstmal wird ein Puffer für die Eingabe erstellt (BuffererReader) der seine Daten aus dem InputStreamReader holt. Der wiederrum liest aus einem InputStream: System.in.

Hoffe, das Prinzip ist klar geworden. Sieht auf den ersten Blick erstmal ziemlich kompliziert aus, wenn mans verstanden hat, geht das aber eigentlich locker flockig von der Hand
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf