SMoeller
Mitglied
Moin,
ich will ein Programm schreiben, mit dem ich das Alter eines Menschen berechnen kann. Dazu verwende ich die Methode System.currentTimeMillis(). Da diese Methode die Millisekunden seit dem 1.1.1970 zählt, ziehe ich die 1970 von dem Geburtsjahr ab. Dann habe ich die Zeit, von dem Geburtsjahr bis zu 1970. Da diese Zeit ja später von dem Alter abgezogen werden muss, will ich die Jahre in Millisekunden umrechnen. 1 Jarh hat 31536000000 Millisekunden(kann sein, das ich mich verrechnet habe). Allerdings ist diese Zahl anscheinend zu groß, obwohl ich als Datentyp long deklariert habe. Das kann aber eigentlich net sein, weil auch System.currentTimeMillis() in einer long Variable gespeichert ist. Auf jeden Fall zeigt mir eclipse folgende Meldung an:
The literal 31536000000 of type int is out of range
Was mir sehr komisch vorkommt, da ich ganz sicher long habe.
Ach und noch zur Info damit keiner nachgucken muss, long hat einen Wert von 10^18, muss also doch eigentlich schicken.
ich will ein Programm schreiben, mit dem ich das Alter eines Menschen berechnen kann. Dazu verwende ich die Methode System.currentTimeMillis(). Da diese Methode die Millisekunden seit dem 1.1.1970 zählt, ziehe ich die 1970 von dem Geburtsjahr ab. Dann habe ich die Zeit, von dem Geburtsjahr bis zu 1970. Da diese Zeit ja später von dem Alter abgezogen werden muss, will ich die Jahre in Millisekunden umrechnen. 1 Jarh hat 31536000000 Millisekunden(kann sein, das ich mich verrechnet habe). Allerdings ist diese Zahl anscheinend zu groß, obwohl ich als Datentyp long deklariert habe. Das kann aber eigentlich net sein, weil auch System.currentTimeMillis() in einer long Variable gespeichert ist. Auf jeden Fall zeigt mir eclipse folgende Meldung an:
The literal 31536000000 of type int is out of range
Was mir sehr komisch vorkommt, da ich ganz sicher long habe.
Ach und noch zur Info damit keiner nachgucken muss, long hat einen Wert von 10^18, muss also doch eigentlich schicken.