JAVA MULTI DIM ARRAY COLUMN& ROW TOTAL,OUTPUT

时间:2015-04-06 18:24:42

标签: arrays multidimensional-array

编写一个程序,存储三个销售人员的每周(周一至周五)销售总额。您的程序应允许用户输入销售额并打印带有标题的销售报告,每个销售人员的每日总计(您的二维数组),每个销售人员的计算每周总计以及每个销售人员当天的计算总计营业员。此外,使用初始化列表创建表示一周中的星期几(星期一到星期五)的一维字符串数组。

需要帮助获得此输出并计算行和&专栏总数

 Weekly Sales Report

      Mon     Tue     Wed    Thurs    Fri       Total

1    10.00   20.00   30.00   40.00   50.00      150.00

2    60.00   70.00   80.00   90.00   10.00      310.00

3    20.00   30.00   40.00   50.00   60.00      200.00

--------------------------------------------------------------

     90.00  120.00   150.00  180.00 120.00      660.00



import java.util.Scanner;

public class TwoDimArray
{
public static void main( String [] args)
{
    Scanner scan = new Scanner( System.in );

    // 1) Declare and allocate Storage

    String [] days = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};
    double [][] saleTotals = new double [3][5];

    // 2) Populate Array

   for (int i = 0; i < saleTotals.length; i++ )
    for ( int j = 0; j < saleTotals[0].length; j++ )
    {
      System.out.print( "Enter " + days[j] + " Totals for Salesperson " + (i+1) + ": " + "  " );
      saleTotals[i][j] = scan.nextDouble( );

    }

     // 3) Process Array - Accumulators
    double total = 0;
    for ( int i = 0; i < saleTotals.length; i++ )
        for ( int j = 0; j < saleTotals[0].length; j++ )
        total += saleTotals[i][j];



    System.out.println( );
    System.out.println(" Weekly Sales Report ");

     // 4) Output Array
    for ( int i = 0; i < saleTotals.length; i++ )
    {
         System.out.println();
        for ( int j = 0; j < saleTotals[0].length; j++ )
        {
        System.out.print(saleTotals[i][j] + "\t");
        }
    }

    System.out.println( );
    System.out.println("-----------------------------------");


    System.out.println( total);

这就是我如何发展

2 个答案:

答案 0 :(得分:0)

你的数组没有项目所以它的长度为0你应该改变for循环索引:

for (int i = 0; i < 3; i++ )
    for ( int j = 0; j < 5; j++ )
    {
           .....
    }
 }

答案 1 :(得分:0)

我对Java很陌生,但我认为这是一个挑战,我就是这样做的:

import java.util.Scanner;

/*
 Weekly Sales Report

 Mon     Tue     Wed    Thurs    Fri       Total

 1    10.00   20.00   30.00   40.00   50.00      150.00

 2    60.00   70.00   80.00   90.00   10.00      310.00

 3    20.00   30.00   40.00   50.00   60.00      200.00

 --------------------------------------------------------------

      90.00  120.00   150.00  180.00 120.00      660.00

 */

public class WeeklyReportExample {

    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);

        String[] days = new String[] { "Mon", "Tue", "Wed", "Thurs", "Fri" };
        int[] salesPerson = new int[] { 1, 2, 3 };
        double[][] salesFigures = new double[3][5];

        for (int i = 0; i < salesPerson.length; i++) {

            System.out.println("Sales Person " + salesPerson[i] + " :");

            for (int j = 0; j < days.length; j++) {

                System.out.println();
                System.out.println("Enter daily sales amount for " + days[j]
                        + " : ");
                double dailyAmount;
                dailyAmount = scan.nextDouble();
                salesFigures[i][j] = dailyAmount;
            }
        }

        double[] salesPersonTotal = new double[3];
        double[] dailyTotal = new double[5];
        double overallTotal = 0;

        System.out.println();
        System.out.println("Weekly Sales Totals:");
        System.out.println();
        System.out.print("\t");

        for (int i = 0; i < days.length; i++) {

            System.out.print(days[i] + "\t");
        }

        System.out.print("Total");
        System.out.println();
        System.out.println();

        for (int k = 0; k < salesFigures.length; k++) {

            System.out.print(salesPerson[k] + "\t");

            for (int l = 0; l < salesFigures[k].length; l++) {

                salesPersonTotal[k] += salesFigures[k][l];
                dailyTotal[l] += salesFigures[k][l];

                System.out.print(String.format("%.2f", salesFigures[k][l])
                        + "\t");
            }

            overallTotal += salesPersonTotal[k];


            System.out.print(String.format("%.2f", salesPersonTotal[k]));
            System.out.println();
            System.out.println();
        }

        System.out.println("-------------------------------------------------------");
        System.out.println();
        System.out.print("\t");

        for (int m = 0; m < dailyTotal.length; m++) {

              System.out.print(String.format("%.2f", dailyTotal[m]) + "\t");
        }

        System.out.print(String.format("%.2f", overallTotal));

    }

}