So I have this program that is supposed to take user input like car names and calculate prices and payment per month right here:
import java.lang.*; import java.io.*; import java.util.*; public class NewCar { private int year; private String make; private String model; private double sticker,discount,tax,finalP,final2,final3; private int month,monPayt; private int abbrev1; private String abbrev2; private String abbrev3; public NewCar(int year, String make, String model) { this.year= year; this.make= make; this.model = model; } public int getYear() { return year; } public String getMake() { return make; } public String getModel() { return model; } public String carDesc() { return year + " " + make + " " + model; } public String carAbbrev() { abbrev1 = year % 100; String abbrev2 = make.substring(0,1); String abbrev3 = model.substring(0,1); return abbrev1 + abbrev2 + abbrev3; } public double calcFinalPrice() { final2 = (sticker - discount); final3 = final2 * tax; finalP = final2 + final3; return finalP; } public int calcZeroPctMonPayt() { monPayt = (int)finalP / month; return monPayt; } public String toString() { return "You want to purchase a " + carDesc() + ". Abbreviation: " + carAbbrev(); } }
And i test it with this tester class:
import java.lang.*; import java.io.*; import java.util.*; public class NewCarTester { public static void main(String[] args) { Scanner scan = new Scanner(System.in); System.out.println("Enter the car's Year, Make and Model: "); int year = scan.nextInt(); String make = scan.next(); String model = scan.next(); System.out.println("Enter the Sticker Price: "); int sticker = scan.nextInt(); System.out.println("Enter the discount: "); int discount = scan.nextInt(); System.out.println("Enter the Sales Tax Rate: "); int tax = scan.nextInt(); System.out.println("Enter the number of Months at Zero Percent Interest: "); int month = scan.nextInt(); NewCar c = new NewCar(year, make, model); System.out.println(c.toString()); System.out.println("Final Price : " + c.calcFinalPrice()); System.out.println(c.calcZeroPctMonPayt()); } }
Now everything works fine accept the calcualtion methods, Whenever i call one of the calculation methods i get 0.0 everytime. This leads me to believe that the inputs the user is putting in are not correctly getting stored into the variables which they are supposed to go into. Can anyone identify the problem and help me fix it? Thanks! Also, one more problem im having is that if a user enters the sales tax with a decimal in it, the program gets an error and stops running, anyone have any insight on that?