我从事这项工作已有一段时间了; 1-2天,我认为我为Java编写的第一堂课的内容都正确。作业要我做的是在第一堂课中进行方法和计算,然后在第二堂课中进行调用。我做了第二堂课,我试图让用户输入购买的物品的数量,然后显示出来
我做了;在第二类中,扫描器保存输入的数量,而system.out.println表示用户要购买的数量。但是我怎么从另一个类中调用该方法呢? 我已经尝试了以下方法。但是它只是说使另一种方法无效,而不是双重方法。
我做错什么了吗?
这是名为SoftwareSales.java的第一个类的代码,在其中将计算和方法放入:
更新第2版 公共类SoftwareSales {
private int unitsSold;
private double UNIT_PRICE;
public SoftwareSales() // Constructor Method
{
unitsSold = 0;
UNIT_PRICE = 99.0;
}
public int getUnitsSold() {
return unitsSold;
}
public void setUnitsSold(int unitsSold) {
this.unitsSold = unitsSold;
}
public double calculateDiscount() {
double discount = 0.0;
if (unitsSold >= 10) {
discount = 0.0;
}
else if (unitsSold < 10) {
discount = ((double) 20 / 100) * unitsSold;
}
else if (unitsSold < 20) {
discount = ((double) 30 / 100) * unitsSold;
}
else if (unitsSold < 50) {
discount = ((double) 40 / 100) * unitsSold;
}
return discount;
}
public double calculateCost() {
double subTotal = 0.0;
double total = 0.0;
double discount = 0.0;
subTotal = UNIT_PRICE * unitsSold;
total = subTotal - discount;
return discount = 0.0;
}
}
第二个代码: 更新的v2 导入java.util.Scanner;
公共类驱动程序{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
SoftwareSales soldUnits = new SoftwareSales();
SoftwareSales discount = new SoftwareSales();
SoftwareSales total = new SoftwareSales();
int inputUnits;
System.out.println("Enter amount of software you are purchasing: ");
inputUnits = sc.nextInt();
System.out.println("Unit sold: " + soldUnits.getUnitsSold());
System.out.println("Total discount: " + discount.calculateDiscount());
System.out.println("Total cost: " + total.calculateCost());
}
}
答案 0 :(得分:0)
您必须创建要引用的类的新对象。您可以通过在Driver类中使用以下代码来做到这一点
SoftwareSales yourDesiredObjectName = new SoftwareSales();
您现在可以通过键入所创建的新类对象名称来引用该类(例如,System.out.println(yourDesiredObjectName.unitsSold);
答案 1 :(得分:0)
在Driver类的主方法中,您必须创建SoftwareSales类的对象。现在,在创建SoftwareSales类的对象之后,您可以使用该对象调用所有公共方法。
示例:在您的主要方法中:
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
String inputString;
int soldUnits;
double discount;
double cost;
System.out.println ("Enter amount of software you are purchasing: ");
soldUnits = sc.nextInt();
// creating an object of SoftwareSales class
SoftwareSales softSales = new SoftwareSales();
// calling method by using object
double result = softSales.calculateCost();
}