如何让我的代码不显示最近的输入?

How do I make my code NOT display a recent input?

import java.io.*;
public class carwip2
{
    public static void main(String args[])
    {
        getAverageCarSales();
    }
    public static void getAverageCarSales()
    {
        Scanner sc= new Scanner(System.in);
        int no_car_sold=0 , z=0;
        int yr_no=0;
        int yrs=0;


        float average_sold=0F;

        System.out.println("Enter number of years");
        yr_no=sc.nextInt();
        if (!isValid(yr_no))
        {

            return;
        }

        for (int i=0; i<yr_no;i++)
        {
            System.out.println("Enter the year");
            yrs=sc.nextInt();
            if (!isValid(yrs))
            {

                return;
            }
            for (int j=0;j<6;j++)
            {
                System.out.println("Enter number of cars sold for year " + yrs + " in month #" + (j+1));
                no_car_sold=sc.nextInt();
                if (!isValid(no_car_sold))
                {

                    return;
                }
                no_car_sold=no_car_sold + z; 
            }
        }
            System.out.println("Total number of months:" + (yr_no*6) );
            System.out.println("Total number of cars sold: " + no_car_sold);
            average_sold= no_car_sold/yr_no;
            System.out.println("Average number of cars sold per month: " + average_sold);
    }
    public static boolean isValid(int x)
    {
        return true;
    }
}

基本上,我的问题是如何将我的代码固定到我输入的每个数字相加的位置?例如,假设我要计算2年,第一年的每个月输入一些数字,输入第二年,输入更多的值;我输入的最后一个值成为售出的汽车总数,这不是我要查找的数字。我想添加所有售出的汽车数量,而不是输出最近的输入。

您需要一个变量来存储总销售额。此外,每月平均售出的汽车数量必须通过将总数除以(年数 * 6)来计算。在旁注中,您应该遵循 Java naming conventions 例如class、carwip2 应该命名为 Carwip2

按如下操作:

import java.util.Scanner;

public class Carwip2 {
    public static void main(String args[]) {
        getAverageCarSales();
    }

    public static void getAverageCarSales() {
        Scanner sc = new Scanner(System.in);
        int total_no_car_sold = 0, no_car_sold = 0, z = 0;
        int yr_no = 0;
        int yrs = 0;

        double average_sold = 0.0;

        System.out.print("Enter number of years: ");
        yr_no = sc.nextInt();
        if (!isValid(yr_no)) {

            return;
        }

        for (int i = 0; i < yr_no; i++) {
            System.out.print("Enter the year: ");
            yrs = sc.nextInt();
            if (!isValid(yrs)) {

                return;
            }
            for (int j = 0; j < 6; j++) {
                System.out.print("Enter number of cars sold for year " + yrs + " in month #" + (j + 1) + ": ");
                no_car_sold = sc.nextInt();
                if (!isValid(no_car_sold)) {

                    return;
                }
                total_no_car_sold = total_no_car_sold + no_car_sold;
            }
        }
        System.out.println("Total number of months:" + (yr_no * 6));
        System.out.println("Total number of cars sold: " + total_no_car_sold);
        average_sold = total_no_car_sold / (yr_no * 6.0);
        System.out.println("Average number of cars sold per month: " + average_sold);
    }

    public static boolean isValid(int x) {
        return true;
    }
}

样本运行:

Enter number of years: 2
Enter the year: 2005
Enter number of cars sold for year 2005 in month #1: 2
Enter number of cars sold for year 2005 in month #2: 3
Enter number of cars sold for year 2005 in month #3: 4
Enter number of cars sold for year 2005 in month #4: 1
Enter number of cars sold for year 2005 in month #5: 2
Enter number of cars sold for year 2005 in month #6: 3
Enter the year: 2006
Enter number of cars sold for year 2006 in month #1: 4
Enter number of cars sold for year 2006 in month #2: 3
Enter number of cars sold for year 2006 in month #3: 1
Enter number of cars sold for year 2006 in month #4: 3
Enter number of cars sold for year 2006 in month #5: 4
Enter number of cars sold for year 2006 in month #6: 2
Total number of months:12
Total number of cars sold: 32
Average number of cars sold per month: 2.6666666666666665

如有任何问题,请随时发表评论 doubt/issue。