Java Println -> Printf

  • Hi,


    ich möchte gerne die Ausgabe : System.out.println(celsius+" Grad sind "+(celsius*9.0/5.0+32)+" fahrenheit");


    zu einer Printf Ausgabe umändern da ich die Ausgabe anders Anzeigen will....ich hab es so probiert:


    System.out.printf( "%d%10d\n", celsius, (celsius*9.0/5.0+32));


    leider bekomme ich hier den Fehler:
    0Exception in thread "main" java.util.IllegalFormatConversionException: d != java.lang.Double
    at java.util.Formatter$FormatSpecifier.failConversion(Formatter.java:4045)
    at java.util.Formatter$FormatSpecifier.printInteger(Formatter.java:2748)
    at java.util.Formatter$FormatSpecifier.print(Formatter.java:2702)
    at java.util.Formatter.format(Formatter.java:2488)
    at java.io.PrintStream.format(PrintStream.java:970)
    at java.io.PrintStream.printf(PrintStream.java:871)
    at umrechnungctof.FToC.main(FToC.java:11)



    Wo liegt das Problem?


    und ja celsius ist im code schon definiert....hier mal mein Code:


    package umrechnungctof;


    public class FToC {


    public static void main(String[] args) {

    int celsius=0; //Startwert

    while (celsius<=100) {

    // damit klappt es, aber ich möchte die Ausgabe anders formatiert haben System.out.println(celsius+" Grad sind "+(celsius*9.0/5.0+32)+" fahrenheit");
    System.out.printf( "%d%d\n", celsius, (celsius*9.0/5.0+32)); //hier klappt es nicht? wo liegt der fehler
    celsius+=5;

    } // end of while



    }

    }



    edit: Also ich möchte dass er erst normal Celsius anzeigt und dann 10 stellen weiter Fahrenheit

  • okay danke das klappt..jetzt gibt er immer ne zahl mit vielen nullen aus..wie kann ich das so einstellen dass er ganz aufrundet?


    so:


    0............32
    5.............41
    10...........50


    (Der Code soll in 5er schritten von C zu F umrechnen)