我是一个java新手,我试图编译它,但它不会编译。有人可以帮忙吗?它说虚空是表达的非法开始。我是从https://docs.oracle.com/javase/tutorial/java/concepts/class.html得到的。当我删除main方法及其结束括号时,它会编译。为什么是这样?我怎么能用类中包含的main方法写这个呢?
class Bicycle{
public static void main(String args[]){
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue){
cadence = newValue;
}
void changeGear(int newValue){
gear = newValue;
}
void speedUp(int increment){
speed = speed + increment;
}
void applyBrakes(int decrement){
speed = speed - decrement;
}
void printStates(){
System.out.println("cadence: " + cadence + " speed: " +speed + " gear: " + gear);
}
}
}
答案 0 :(得分:2)
您将main
方法放在错误的位置。 main
方法不应包含类的方法和成员。
您应该提取主要方法:
class Bicycle{
int cadence = 0;
int speed = 0;
int gear = 1;
void changeCadence(int newValue){
cadence = newValue;
}
void changeGear(int newValue){
gear = newValue;
}
void speedUp(int increment){
speed = speed + increment;
}
void applyBrakes(int decrement){
speed = speed - decrement;
}
void printStates(){
System.out.println("cadence: " + cadence + " speed: " +speed + " gear: " + gear);
}
public static void main(String args[])
{
// here you can create an instance of the class and test it
Bicycle bike = new Bicycle ();
bike.changeCadence(4);
bike.changeGear(5);
bike.speedUp(3);
bike.printStates();
}
}
答案 1 :(得分:0)
只是拇指规则 -
java类中的方法块不能在其中包含另一个方法块。是的,我们可以在方法块中创建一个本地内部类,然后它可以包含方法,但不能直接包含。