我如何获得从另一个班级返回的整数?

时间:2018-02-09 01:23:40

标签: java int return

我在计算机数学课程中有一个项目,我们需要输入3个系数(ax ^ 2 + bx + c)并使用二次公式来计算零。它对我们来说不会太难,但我们必须将工作分成不同的资源类和驱动程序类。

大纲:https://imgur.com/a/0Mn3m

到目前为止,这是我到目前为止所拥有的

import java.util.Scanner;

public class coEff
{
    public int coEff()
    {

        int a, b, c;
        double root1, root2, root3, d;

        Scanner s = new Scanner(System.in);

        System.out.print("Enter the A coefficient");
        a = s.nextInt();

        System.out.print("Enter the B coefficient");
        b = s.nextInt();

        System.out.print("Enter the C coefficient");
        c = s.nextInt();

        return coEff();

    }

}

第二课:

import java.util.Scanner;

public class calcZeroes
{
    public int calcZeroes()
    {
        coEff coEff = new coEff();
        coEff.coEff();

        int a, b, c;
        double root1, root2, root3, d;

        return calcZeroes();
    }
}

我有计算公式的代码,但它没有工作,因为系数没有初始化。任何帮助将不胜感激:)

2 个答案:

答案 0 :(得分:0)

您将在每个课程结束时返回您的班级名称。它只是递归地打电话给你的班级。 (甚至可能会出错,我之前没试过)。您应该只返回一个int值。  例如

`int something = 0;
 return something;`

答案 1 :(得分:0)

我认为你是java新手,因为你的整个类结构都是乱序的。对于初学者来说,Bami建议你回来上课。在java中,“多态”的概念描述了一种语言通过单一,统一的接口处理各种类型和类的对象的能力。因此,您可以创建coEff类并在那里进行计算,并在驱动程序类中获取用户输入。您可以将变量从驱动程序类传递给coEff方法作为参数。

  import java.util.Scanner;

  public class coEff{

  public int coEff(int a, int b, int c){
  int result;

  //do the calculation here.

  return result;
  }
}

在您的驱动程序类中,您获取输入并使用coEff对象将这些输入作为coEff方法的参数传递。

 import java.util.*;

 public class Driver{

 public static void main(String [] args){
  int a,b,c;
  Scanner input = new Scanner(System.in);

  System.out.println("Enter co-efficient A:\n");
  a = input.nextInt();

  System.out.println("Enter co-efficient B:\n");
  b = input.nextInt();

  System.out.println("Enter co-efficient C:\n");
  c = input.nextInt();

  coEff coeff = new coEff();

  System.out.println(coEff.coEff(a,b,c));
 }
 }

作为旁注:除非是构造函数,否则不要对类和方法使用相同的名称。

编辑:如果您需要在单独的课程中输入输入,您仍然可以使用相同的概念,而不是在驱动程序中获取输入,只需将其带入另一个类并调用coEff方法并将结果打印在驱动程序中。