我将如何从其他类调用方法?

时间:2020-10-10 03:12:39

标签: java class methods

我从事这项工作已有一段时间了; 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());

}

}

2 个答案:

答案 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();

}
相关问题