Java: Ich soll eine long-Zahl von der Konsole einlesen. Kann mir jemand sagen, wie das geht?

2 Antworten

Da deine Aufgabe die Einbindung der IOTools-Bibliothek beinhaltete, solltest du auch mit diesem arbeiten. Der Code von xGlumi funktioniert zwar, umgeht dieses Tool allerdings durch Nutzung eines Scanner-Objekts. Wenn sich dein Aufgabensteller deine Lösung anschauen wird, weiß er sofort, dass du dich nicht mit der Bibliothek auseinandergesetzt hast und könnte gar vermuten, dass der Code nicht von dir stammt.

Hier findest du die API Spezifikation von IOTools. Suche in diesem nach der Methode, die du benötigst, um Zahlen des Typs long von der Konsole auszulesen. Das Prozedere unterscheidet sich kaum von den bisher durchgeführten Aufgaben (Einlesen von der Konsole).

PS.: Klassennamen bestehen nur aus einem Wort. Wenn du mehrere Wörter darin unterbringen möchtest, nutze die KamelhöckerSchreibweise:

public class ZeitenUmrechnen {
import java.util.Scanner;
import Prog1Tools.IOTools;

public class Zeiten umrechnen {

public static void main(String[]args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Bitte tippen Sie die Sekunden ein.");
    long seconds = sc.nextLong();
}

MFG xGlumi

Woher ich das weiß:eigene Erfahrung – Programmier/IT Erfahrung seit 2009 (Freizeit und Beruf)
Mustachey 
Fragesteller
 28.10.2018, 16:23

Danke dir! Wie lautet der Code für die Zeitumrechnung? Das programm soll mir aufzeigen wievielen Jahren, Tagen, Stunden, Minuten und Sekunden dies entspricht...

0
xGlumi  28.10.2018, 16:29
@Mustachey

Du solltest dir nicht deine ganzen Aufgaben auf "gutefrage.net" zusammen kopieren :/

Ich weiß leider nicht genau was bei deiner Aufgabe gesucht ist.
Soll die gesamte Sekundenzahl jedesmal in die neue Einheit gerechnet werden? (Minuten, Stunden, Tage, Jahre)?

Oder soll da eine Art Timestamp errechnet werden?

Ich gehe jetzt erstmal von der ersten Variante aus, wenn du doch was anderes brauchst dann schreib einfach.

long seconds = sc.nextLong();
long minutes = seconds / 60;
long hours = seconds / 3600;
long days = seconds / 86400;
long years = seconds / 31536000;

Ob jetzt für jede Einheit der Datentyp "long" unbedingt nötig ist, sei mal dahin gestellt.

Und Schaltjahre sind hier logischerweise auch nicht berücksichtigt

MFG xGlumi

0
Mustachey 
Fragesteller
 28.10.2018, 16:41
@xGlumi

Ich danke dir sehr. Habe sonst keinen den ich fragen kann. Anders verstehe ich's auch nicht. Für mich ist das nicht nur kopieren und einfügen ich schaue es mir genau an und erkenne dann meine Fehler.

1
AlexByJava  28.10.2018, 16:38

Du bist heute gut drauf, oder was ? Bist du schon den ganzen Tag am programmieren ?

0