如何在java中声明枚举中的单个元素?



你好,我正试图写这段关于物理的代码,但有一个问题。

其实有两个问题:1.万有引力的公式在使用场类时出现了错误2.我想声明元素中各个变量的类型我认为如果我显示源代码会更清楚:

public class Main
{
public static void main(String[] args) {
}
abstract class Gravitation{
public abstract int Gravitation(int mass[],int dist,int force);
}
class PhySyst{
public int mass;
public int wt;
public float smallG = 9.8f;
//this is the posible value of charge
enum Charge{Positive,Negative,PositiveCoulumb,NegativeCoulumb,IsNegative,IsPositive};


}
class Earth extends Gravitation{
//stores acceleration due to gravity
public float smallG = 9.8f;
//the raduis of earth is needed in the physics formula for distance
public float GravityPressure = 6.67f;
public float raduisofEarth = 6371f;
//this finds the gravation using newtons principles
public int Gravitation(int mass[],int dist,int force)
{
force = (GravityPressure * mass[])/(dist * dist);
return force;
}
}
}

错误如下:

Main.java:32: error: '.class' expected
force = (GravityPressure * mass[])/(dist * dist);
^
1 error

感谢阅读:)

几个修复:

  1. 常量应为static final(#constant)。

  2. Gm1m2/r2,公式,所以你应该传递两个输入参数(m1和m2),而不是数组。

  3. 由于乘法运算是数字而不是数组(mass[])。

  4. Enum应在公共类或静态类中定义。

  5. 由于力可以是浮动的,所以将返回类型从当前的int改为float


@JsonIgnoreProperties(ignoreUnknown = true)
class Category {
abstract class Gravitation {
public abstract float getGravitationalForce(int mass1, int mass2, int dist);
}
//this is the possible value of charge
enum Charge {
Positive, Negative, PositiveCoulumb, NegativeCoulumb, IsNegative, IsPositive
};
class PhySyst {
public int mass;
public int wt;
public float smallG = 9.8f;
}
class Earth extends Gravitation {
//stores acceleration due to gravity
public static final float SMALL_G = 9.8f; #constant
//the radius of earth is needed in the physics formula for distance
public static final float GRAVITATIONAL_PRESSURE = 6.67f; #constant
public static final float RADIUS_OF_EARTH = 6371f; #constant
//this finds the gravitation using newtons principles
public float getGravitationalForce(int mass1, int mass2, int dist) {
return (GRAVITATIONAL_PRESSURE * mass1 * mass2) / (dist * dist);
}
}
}