2016-09-21 6 views
0

コードをコンパイルして実行するたびに、出力が大きく乱れてしまい、出力を見栄え良くする方法を誰かに教えてもらいたいです。Javaで nを正しく使用する方法

import java.util.*; 
public class JavaApplication3 { 
    static Scanner sc = new Scanner(System.in); 
    public static void main(String[] args) { 
     int NumPerHamper; 
     int NumHampersMade; 
     int NumItemsLeftOver; 
     int NumAvalable; 
     double ValuePerHamper; 
     double ItemCost; 
     double ValueAllotedHamper; 
     double ValueItemsLeftOver; 
     String name=""; 
     Date TheDate = new Date(); 

     System.out.println("Enter the number of avaliable mac and cheese"); 
     NumAvalable = sc.nextInt(); 

     System.out.println("Enter the number of items per hamper"); 
     NumPerHamper = sc.nextInt(); 

     System.out.println("Price Of Item"); 
     ItemCost = sc.nextDouble(); 

     NumHampersMade = NumAvalable/NumPerHamper; 
     NumItemsLeftOver = NumAvalable % NumPerHamper; 
     ValuePerHamper = NumPerHamper * ItemCost; 
     ValueAllotedHamper = ValuePerHamper * NumHampersMade; 
     ValueItemsLeftOver = NumItemsLeftOver * ItemCost; 
     System.out.printf("\n"); 
     System.out.printf(TheDate + "\n"); 
     System.out.printf("Amount of Hampers Made: ", NumHampersMade,"\n"); 
     System.out.printf("The Items Left Over is: ", NumItemsLeftOver,"\n"); 
     System.out.printf("Each Value Of the Hampers are: $%.2f.", ValuePerHamper,"\n"); 
     System.out.printf("The Price Of All The Hampers Is: $%.2f.", ValueAllotedHamper,"\n"); 
     System.out.printf("The Value Of Mac And Cheese Is: $%.2f.", ValueItemsLeftOver,"\n"); 
    } 
} 
+0

はむしろSystem.out.printf' – AndreFeijo

+0

''よりSystem.out.println'を使用してみてください。このウェブサイトは、私は、コードなしの詳細を持っていたことを言ったので、私は/私の詳細をPASEコピー唯一の理由です。 – Tyrandis

+0

私はprintlnを使うことができますが、私の先生はprintの中に "、"を使いたいので、printlnでなく – Tyrandis

答えて

1

これは権利ではありません。

System.out.printf("Each Value Of the Hampers are: $%.2f.", ValuePerHamper,"\n"); 

最初の引数(フォーマット文字列)は、「書式指定」、またはプレースホルダを交換した後、あなたが実際に印刷した文字列です。その文字列内の書式指定子(%.2fなど)は、他の引数で置き換えられます。したがって、最初の指定子にはValuePerHamperの2番目の引数%.2fが使用されます。第3引数、\nは、第2の指定子--- umに使用されます。ただし、他の指定子がないため、まったく使用されません。また、新に行くところ、それはまた、Windowsシステム上で動作しますので、あなたがより移植性がある\n、の代わりに%nを使用することができます

System.out.printf("Each Value Of the Hampers are: $%.2f.\n", ValuePerHamper); 

printf

あなたはフォーマット文字列で\nを入れたいです回線には\nの代わりに\r\nが必要です。

+0

そしてもう一つ、それはアウトプットは左オーバーのです などのアイテムに見えるということである理由: System.out.printfため – Tyrandis

+0

を(「アイテム左オーバーは次のとおりです。\ nを」、NumItemsLeftOver)。 – Tyrandis

+0

'NumItemsLeftOver'で置き換えられる書式指定子は何ですか? – ajb

1

%nまたは\nを使用できます。これらのいずれかがこのようなprintf()メソッドの最初のパラメータにある必要があります。

System.out.printf("Each Value Of the Hampers are: $%.2f. %n", ValuePerHamper); 
System.out.printf("The Price Of All The Hampers Is: $%.2f.%n", ValueAllotedHamper); 
System.out.printf("The Value Of Mac And Cheese Is: $%.2f.%n", ValueItemsLeftOver); 

そして、値を表示する最初の2行には%dがありません。

System.out.printf("Amount of Hampers Made: %d %n", NumHampersMade); 
System.out.printf("The Items Left Over is: %d %n", NumItemsLeftOver); 
関連する問題