方法areEqualByThreeDecimalPlace(double,double)未定义用于DecimalComp



我的主java。

public class Main {

DecimalComparator dc = new DecimalComparator();
DecimalComparator rt = new DecimalComparator();

public static void main(String[] args) {


dc.areEqualByThreeDecimalPlace(1.256, 2.632);   

}

}

我的DecimalComparator代码

public class DecimalComparator {
public  void areEqualByThreeDecimalPlace(double num1,double num2) {

String Str1 = String.format("%.3g%n",num1);

System.out.println("The value of Str1"+Str1);
}
}

并且在Min.class中;方法areEqualByThreeDecimalPlace(double,double(对于DecimalComparator"类型是未定义的;

您的main方法是静态的。不能从静态方法获取DecimalComparator的非静态实例。您必须获得Main类的实例才能获得DecimalConverter类的实例。

Java中的字段名总是以小写字符开头。

这是我使用的完整的可运行代码。我将您的DecimalComparator类设置为内部类,这样我就可以将代码作为一个块发布。

public class DecimalComparatorMain {
public static void main(String[] args) {
DecimalComparatorMain dcm = new DecimalComparatorMain();
DecimalComparator dc = dcm.new DecimalComparator();
dc.areEqualByThreeDecimalPlace(1.256, 2.632);
}
public class DecimalComparator {
public void areEqualByThreeDecimalPlace(double num1, double num2) {
String str1 = String.format("%.3g%n", num1);
System.out.println("The value of str1: " + str1);
}
}
}

最新更新