Zahl verschiebt sich in falsche Position

Xching

Erfahrenes Mitglied
Hallo Zusammen, Ich habe ein kleine Problem, das ist , dass Zahl verschiebt sich in falsche Position in meinem Programm und ich weißt es nicht wo ich Fehler gemacht habe.

Java:
import java.util.Scanner;

public class GDP1A {
	
	public static final int MINUTEN = 60;
	public static final int STUNDEN =  3600;
	public static final int TAGE = 86400;
	
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
Scanner scanner = new Scanner ( System.in);	
		
		int eintrag;
		int tag;
		int sekunde;
		int minuten;
		int stunden;
		
		
		System.out.println("Bitte geben einer Zahl ein: " );
		eintrag = scanner.nextInt( );
		
		tag = eintrag / TAGE;
		//System.out.print("Tage(n),"+ tag);
		
		stunden= (eintrag-(tag*TAGE))/STUNDEN;
		//System.out.print("Stunden(n),  "+ stunden);
		
		minuten = (eintrag-(tag* TAGE)-(stunden*STUNDEN))/MINUTEN;
		//System.out.print("Minute(n),  "+ minuten);
		
		sekunde= eintrag % MINUTEN;
		//System.out.print("Sekunde(n),  "+ sekunde);
	   
	
	System.out.print("Tage(n),"+ tag +"Stunden(n),  "+ stunden +"Minute(n),  "+ minuten +"Sekunde(n),  "+ sekunde);
	}
}

Es sollte so ausgeben :

Bitte geben einer Zahl ein:

1000

Bei der Ausgabe: 0 Tage(n),0 Stunden(n), 16 Minute(n), 40 Sekunde(n)


ABER Ich habe so raus bekommen :

Bitte geben einer Zahl ein:

1000

bei der Ausgabe: Tage(n),0Stunden(n), 0Minute(n), 16Sekunde(n), 40
 
statt
Java:
 System.out.print("Tage(n),"+ tag +"Stunden(n),  "+ stunden +"Minute(n),  "+ minuten +"Sekunde(n),  "+ sekunde);
einfach mal
Java:
 System.out.print("Tage("+ tag +"), Stunden("+ stunden +"), Minute("+ minuten +"), Sekunde("+ sekunde+")");
nutzen. Woher soll System.out.print() wissen, wo du deine Zahlen haben willst, wenn du da nur '(n)' hin schreibst?

//EDIT:
Sorry, das ist Quatsch. CPoly hat Recht.
 
Zuletzt bearbeitet:
Woher soll System.out.print() wissen, wo du deine Zahlen haben willst, wenn du da nur '(n)' hin schreibst?

Ich glaube mit dem "(n)" wollte er lediglich die Unterscheidung Einzahl/Mehrzahl einbringen. Aber dennoch sind die Positionen falsch. Aber das kommt mir als Problem bzw. Lösung irgendwo so trivial vor.

Java:
//Vorher
"Tage(n),"+ tag

//Nachher
tag + "Tage(n),"

Du solltest dir mal printf ansehen: http://download.oracle.com/javase/1...printf(java.lang.String, java.lang.Object...)
 
Zurück