我是一个java新手,我试图编译它,但它无法编译。有人可以帮忙吗?它说 void 是表达式的非法开头。我从 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);
}
}
}
最佳答案
您将 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();
}
}
关于java - 有人能解释一下为什么这个java类不能编译吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33197018/