Zeit-Timer?

ichebem

Mitglied
Ja ich habé mal wieder so ein no0biges problemchen----

die frage ist recht simpel... kann man bei java einen timer einbauen....

Java:
System.out.println("Ein kleiner Reaktionstest! Tippe die abgebildete Zahl schnellstmöglich ein" );
int zahl= (int) (Math.random() * 10);
System.out.println(zahl );
String tipp = bin.readLine();
int tippint = Integer.parseInt(tipp); 

if (tippint == zahl)
       System.out.println("Ja, das war die Richtige Zahl!" + ZEIT" );

kann man da z.b. die zeit messen zwischen "System.out.println(zahl );" und der eingabe " String tipp = bin.readLine(); "?

und ja in dem beispielcode fehlt:
Java:
throws IOException {
	
	BufferedReader bin = new BufferedReader(    				 new InputStreamReader(System.in));

aber das ist nebensächlich

hoffe auf schnelle antwort
 
Moin!
Mit System.currentTimeMillis() bekommst du die aktuelle Systemzeit in Millisekunden.
Nach der Eingabeaufforderung und nachdem die Zahl eingegeben wurde, jeweils die Systemzeit auslesen, Differenz bilden, fertig...

*grüssle*
MeinerEiner
 
also wäre es so:
Java:
int zeit1 = System.currentTimeMillis();
........
int zeit2 = System.currentTimeMillis();
..
int zeit = zeit2-zeit1
System.out.println("Deine Zeit war: " + zeit);
 
Genau, nur musst du die Zeit noch etwas formatieren, sonst bekommst du ja den Zeitunterschied in Millisekunden :)
 
also wäre es so:
Java:
int zeit1 = System.currentTimeMillis();
........
int zeit2 = System.currentTimeMillis();
..
int zeit = zeit2-zeit1
System.out.println("Deine Zeit war: " + zeit);


ok, das da t net!

Error ist:
possible loss of precision
found: long
requiered: int
int zeit 1 = System.currentTimeMillis ();

das heißt ich habe nen falschen variablen typen..kann mir mal einer den richtigen sagen...und mir von dem aus auch dann gleich die umwandlung zu integer?
 
Warum den unbedingt in int?
Der Datentyp, den du brauchst heißt long
also:

Code:
long lZeit1 = System.currentTimeMillis();
...
 
jaja---habe mich mal wieder vertan wie jeder anfänger...

super lieben dank euch beiden.. es t so wie es soll---- ich suche atm nur noch die umrechnungen von milisekunden zu sekunden....sind 1000 oder? mili=1000...

danke ihr seid super!
 
ach ne wie immer..ichhabs mit
long variablen dividiert man mit:

/

frage, wie m,ache ich es, dass der auch nachkomme stellen anzeigt?
denn bei mir kommt momentan immer 0 sekunden..... das ist ein bisl dumm...(klar es sei denn ich warte extra 10sekunden)
 
Anscheinend kennst du die verschiedenen Datentypen nicht?!
Erstmal solltest du dich darüber mal schlau machen, ist für jedes Projekt wichtig: Hier

1. Mit Long dividieren ist das Selbe wie mit int
2. Long hat keine Kommastellen, dafür brauchst du entweder float oder double
 
Zurück