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

Rachel Livings :
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;
    }
}

Basically, my question is how do I fix my code to where each number I input gets added together? For example, let's say I put 2 years to be calculated, input some numbers for each month for the first year, enter the next year, enter more values; the last value I input becomes the total cars sold, which isn't the number I'm looking for. I would like to add all the amounts of cars sold instead of output the most recent input.

Arvind Kumar Avinash :

You need to have a variable to store the total sale. Also, the average number of cars sold per month must be calculated by dividing the total number divided by (no. of years * 6). On a side note, you should follow Java naming conventions e.g. the class, carwip2 should be named as Carwip2

Do it as follows:

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;
    }
}

A sample run:

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

Feel free to comment in case of any doubt/issue.

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=403617&siteId=1