我将如何正确编程?

时间:2015-11-13 19:19:01

标签: java

程序要我编写代​​码:

  

编写将生成的可执行程序   订购号码的客户的发票   在商店的产品。一个样本运行   程序显示在右侧。

     

你的计划   必须要求产品数量(最多为a   最多可订购12件产品)和   然后先后询问产品名称和   它的成本。生成的发票包括:

     

商店的标题(如图所示),   产品名称及其成本,   所有产品的计算成本,   计算5%的销售税,   总体总成本   谢谢你。

     

必须保留产品及其成本   并行数组。必须编写两种方法。   一种方法将显示标题。第二   方法将接受所有的计算成本   产品并返还计算的销售税。   计算销售税的方法必须   使用命名常数获得5%的税率。

示例运行图片:http://imgur.com/F3XDjau

目前我的程序是这个,但我不确定它是否正确或者我是否需要将变量变成数组。

    public static void main(String[] args) {
        Scanner input= new Scanner(System.in);
        int product;
        String products;
        double cost;

        System.out.println("How many products? ");
        product=input.nextInt();

        for(int i = 0; i < product; i++){

            System.out.println("Product Name: ");
            products=input.next();

            System.out.println("Cost: ");
            cost=input.nextDouble();
        }

        }
    }

2 个答案:

答案 0 :(得分:0)

这是你填充阵列的方法:

double[] costArray = new double[product]; 
for(int i = 0; i < product; i++){
    costArray[i] = input.nextDouble();
}

答案 1 :(得分:0)

您需要为变量产品成本使用数组,如下所示:

 static final float TAXES = 0.05f;

public static void main(String[] args) {
    double sum = 0.0;
    double tax;
    Scanner input = new Scanner(System.in);
    int product;
    String products[];
    double cost[];

    System.out.println("How many products? ");
    product = input.nextInt();
    products = new String[product];
    cost = new double[product];

    for (int i = 0; i < product; i++) {

        System.out.println("Product Name: ");
        products[i] = input.next();

        System.out.println("Cost: ");
        cost[i] = Double.parseDouble(input.next().trim().replace(',', '.'));
    }

    indentedText();

    for (int i = 0; i < product; i++) {
        System.out.printf(products[i] + '\t' + "%.2f %n", cost[i]);
        sum = sum + cost[i];
    }
    tax = calculateTaxes(sum);
    System.out.printf("Sub total:" + '\t' + "%.2f %n", sum);
    System.out.printf("Sales tax:" + '\t' + "%.2f %n", tax);
    System.out.printf("Total to be paid:" + '\t' + "%.2f %n %n", (sum + tax));
    System.out.print('\t' + "Thank you!");

}

private static void indentedText() {
    System.out.print('\t' + "The Company Store" + '\n' + '\n');

}

private static double calculateTaxes(double sum) {
    return sum * TAXES;
}