我在计算机数学课程中有一个项目,我们需要输入3个系数(ax ^ 2 + bx + c)并使用二次公式来计算零。它对我们来说不会太难,但我们必须将工作分成不同的资源类和驱动程序类。
到目前为止,这是我到目前为止所拥有的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();
}
}
我有计算公式的代码,但它没有工作,因为系数没有初始化。任何帮助将不胜感激:)
答案 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方法并将结果打印在驱动程序中。