Java Scanner,NextDouble用户输入Grocery List

时间:2015-09-17 03:42:51

标签: java java.util.scanner

我一直无法完成这项任务。

  

您将编写一个程序,接受5个杂货的清单   以及他们的价格。该计划应计算总成本   这些项目是逐行排列的,并将输出格式化为外观   干净,甚至。

说明:

  • 提示用户注意第1项的费用。
  • 再重复步骤#1。
  • 当您接受了所有值后,将它们打印到屏幕上,并在它们旁边打印一个总值。确保一切都是直的并且对齐。

以下是一个示例运行:

 Enter item #1: 2.59
 Enter item #2: 5.25
 Enter item #3: 6.34
 Enter item #4: 4.50
 Enter item #5: 8.72

在适当的情况下,将所有宽度规格设置为10,将所有精度设置为2。不使用任何常规空格来对齐列,而只使用printf方法。仅使用println方法更改行。 您可以使用程序的main()方法完成所有工作。

到目前为止,这是我的代码,每当我尝试在BlueJ中运行它时,它实际上都不会运行代码:

import java.util.Scanner;
public class P4_Icel_Murad_GroceryList {
    public P4_Icel_Murad_GroceryList() {
        Scanner in = new Scanner(System.in);
    }

    public static void main(String[] args) {       
        Scanner in = new Scanner(System.in);
        //String a = in.nextLine();
        System.out.printf("Enter item #1: ", in.nextDouble());

        //System.out.printf("Enter item #2: " + in.nextLine() + "%.2f");
        //System.out.printf("Enter item #3: " + in.nextLine() + "%.2f");
        //System.out.printf("Enter item #4: " + in.nextLine() + "%.2f");
    }
}

2 个答案:

答案 0 :(得分:2)

由于这是一项任务,我不会为您提供实际代码。但是,有些事情要考虑。

public P4_Icel_Murad_GroceryList(){
    Scanner in = new Scanner(System.in);
}

这段代码似乎有点无用......你打算用这个声明的Scanner做什么? 此外,in.nextDouble()返回用户输入的双精度数。你用这个值做什么?你不想只是打印它,你想以某种方式存储它,以便你以后可以检索它来计算所有条目的总和。也许是5个不同的变量......但是,如果你还没有了解它们,arrays  对于这个问题来说,这似乎是完美的结果。一些伪代码

Declare scanner
Prompt user for 5 values
Read next 5 doubles -- in.nextDouble()
Total all values, and print to screen

答案 1 :(得分:0)

没关系,我能够回答我自己的问题:结果是

import java.util.Scanner;
public class P4_Icel_Murad_GroceryList
{
    public static void main(String[] args){       
        Scanner in = new Scanner(System.in);
        //String a = in.nextLine();
        System.out.printf("Enter item #1: ");
        double Num1 = in.nextDouble();
        System.out.printf("Enter item #2: ");
        double Num2 = in.nextDouble();
        System.out.printf("Enter item #3: ");
        double Num3 = in.nextDouble();
        System.out.printf("Enter item #4: ");
        double Num4 = in.nextDouble();  
        System.out.printf("Enter item #5: ");
        double Num5 = in.nextDouble();
        System.out.println();
        System.out.printf("%-5s", "Item:");
        System.out.printf("%10s", "Cost:");
        System.out.printf("%10s", "Total:\n");
        System.out.printf("%5s", "#1");
        System.out.printf("%10.2f", Num1);
        System.out.printf("%8s",Num1);
        System.out.println();
        System.out.printf("%5s", "#2");
        System.out.printf("%10.2f", Num2);
        System.out.printf("%8s",Num1 + Num2);
        System.out.println();
        System.out.printf("%5s", "#3");
        System.out.printf("%10.2f", Num3); 
        System.out.printf("%8s",Num1 + Num2 + Num3);
        System.out.println();
        System.out.printf("%5s", "#4");
        System.out.printf("%10.2f", Num4);
        System.out.printf("%8s",Num1 + Num2 + Num3 + Num4);
        System.out.println();
        System.out.printf("%5s", "#5");
        System.out.printf("%10.2f", Num5);
        System.out.printf("%8.2f",Num1 + Num2 + Num3 + Num4 + Num5);

    }
}