我是java的新手并试图创建一个简单的代码,检查给定汽车的燃气使用量,每加仑和汽油给定里程数,但每次我尝试初始化变量时,都会给我一些错误。 inTank和mpg表示只允许final,并且构造函数由于某种原因无法初始化变量参数。如果有人能向我解释为什么以及如何解决这个问题,我将不胜感激。发生在Udacity IDE和Ecclipse中。
public class MileagePrinter {
public static void main(String[] args)
{
// your code here
private double inTank;
private double mpg;
public MileagePrinter(double gasInTank, double milesPerGallon) {
inTank = gasInTank;
mpg = milesPerGallon;
}
}
}
答案 0 :(得分:0)
重新排序代码......你在主方法中有类变量和构造函数......
它必须看起来像
public class MileagePrinter {
private double inTank;
private double mpg;
public MileagePrinter(double gasInTank, double milesPerGallon) {
inTank = gasInTank;
mpg = milesPerGallon;
}
public static void main(String[] args){
// your code here
}
}
答案 1 :(得分:0)
Main
方法和constructor
方法彼此不同。 Main
是执行程序的起点,而constructor
用于创建对象。我们需要在constructor
方法中使用main
,例如
public class MileagePrinter {
private double inTank;
private double mpg;
public MileagePrinter(double gasInTank, double milesPerGallon) {
inTank = gasInTank;
mpg = milesPerGallon;
}
public static void main(String[] args){
MileagePrinter pointer = new MileagePrinter(10d, 100d); //create object using constructor
}
}
答案 2 :(得分:0)
就个人而言,我个人更喜欢将Main类中的main分开(例如,名称并不重要):
main.java:
public class Main {
public static void main(String[] args) {
// your code here
}
}
前程万里(MileagePrinter.java):
public class MileagePrinter {
private double inTank;
private double mpg;
public MileagePrinter(double gasInTank, double milesPerGallon) {
inTank = gasInTank;
mpg = milesPerGallon;
}
}