当前位置: 首页 > 知识库问答 >
问题:

我如何从另一个类调用方法?

皮骏
2023-03-14

我做这个任务已经有一段时间了;很好的1-2天,我想我第一节课上的一切都是正确的,那是我为Java制作的。作业要我做的是在第一节课中进行方法和计算,然后在第二节课中调用它。我做了第二个类,我试图让用户输入购买物品的数量,然后它会显示出来

  • 购买的金额

我做了;在第二个类中,扫描仪用来保存输入的数字量,以及一个系统。出来用户将要购买的金额的println。但是我如何从另一个类调用这个方法呢?我试过以下方法。但它只是说让另一种方法无效,而不是双重的。

我做错什么了吗?

下面是名为SoftwareSales的第一类的代码。java,我将计算和方法放入其中:

更新的v2公共类软件销售{

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。扫描仪;

公务舱司机{

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个答案

程钧
2023-03-14

在您的驱动程序类中,在您的主方法中,您必须创建SoftwareSalesclass的对象。创建SoftwareSalesclass的对象后,现在您可以通过使用该对象调用所有公共方法。

示例:在主要方法中:

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

}
别子实
2023-03-14

您必须为所引用的类创建一个新对象。您可以通过在类驱动程序中使用以下代码来做到这一点

SoftwareSales yourDesiredObjectName=新软件销售();

现在,您可以通过键入您创建的新类对象名称来引用该类(例如,System.out.println(your DesiredObjectName.unitsSold);

 类似资料:
  • 嗨我正在努力解决我面临的问题 我想做的是调用test1类的zahl方法 这是我尝试过的,但它什么也没有返回,即使它应该显示我的错误。

  • 问题内容: 在Python中,有没有一种方法可以从另一个类中调用一个类方法?我正在尝试在Python中旋转自己的MVC框架,但无法弄清楚如何从另一个类的一个类调用方法。 这是我想发生的事情: 我正在从PHP慢慢进入Python,因此我正在寻找与PHP等效的Python 。 问题答案: 更新:刚刚在您的帖子中看到了对它的引用。那不一样。用于获取函数对象,然后使用您的参数调用它 现在是一个实际的函数对

  • 在我的项目中,我有3个文件: FXMLController.java这是一个JavaFX文件 FXML。这是另一个JavaFX文件 JavaApplication3.java这个文件只包含我的主要方法: 我想从我的主方法启动我的FXMLController类来运行这个程序。怎么做呢?我写的代码不工作可能是因为我有这个错误“没有找到合适的方法启动”。

  • 问题内容: 我正在研究一个问题,但由于刚开始学习Java而感到非常困惑。我可以理解的任何帮助都会很棒。我必须编写一个具有两个类的程序。主类将从文件中读取内容,并使用第二类来查找文件中相同单词被重复的次数,然后将它们添加到包含单词和单词重复次数的数组中。我可以阅读文件部分。我只是似乎不知道如何从第二个类调用方法以将单词添加到数组并增加计数器。到目前为止,这是我的代码,如果您运行它,您将看到多少错误会

  • 问题内容: 我知道这个问题是重复的,但是我在Internet上找不到答案。 我想从另一个类调用一个方法。 我有Class1和Class2。 在第2类中,我具有该方法: 我想从Class1调用该方法。 感谢您的任何答复。 - - 编辑 - - -— LogCat– 问题答案: 您应该使用以下代码: 如果您不想创建一个新的实例来调用该方法,则可以将方法标为十进制,然后只需调用即可。

  • Java,我们可以从另一个类调用main()方法吗?例如,ClassA应该在命令行上运行,因为它定义了main(String[]args)方法。 我想把这个叫做ClassA,在ClassB里面。是否初始化类的新对象,如 或者是否有一种方法可以在ClassB中传递ClassA的命令行选项。 谢啦