所以我有这个计划,应该采取用户输入样车的名字,并计算价格,并每月支付就在这里:用户输入
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();
}
}
,我和本测试仪进行测试类:
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());
}
}
现在一切正常接受calcualtion方法,每当我打电话的计算方法之一我得到0.0每次。这导致我相信用户输入的输入没有正确存储到他们应该进入的变量中。任何人都可以确定问题并帮助我解决问题吗?谢谢!此外,还有一个问题是,如果用户输入含有小数点的销售税,程序会收到错误并停止运行,任何人都可以对此有所了解?
在什么,我的答案中看到到目前为止顶部,你可能想'(INT)(finalP /月)',而不是'(INT)finalP/month'在'calcZeroPctMonPayt()'中。如果我记得正确的话,后者将'finalP'转换为'int' *,然后执行除法。 –