У меня есть две версии кодов.
Версия 1
Launcher.java
class Launcher {
public static void main(String[] args) {
LuckyNumber game;
game = new LuckyNumber();
game.start();
}
}
Player.java
class Player {
int randomNumber = 0;
public void roll(){
randomNumber = (int) (Math.random() * 10);
}
}
LuckyNumber.java
class Launcher {
public static void main(String[] args) {
LuckyNumber game;
game = new LuckyNumber();
game.start();
}
}
Версия 2
Launcher.java
class Launcher {
public static void main(String[] args) {
LuckyNumber game;
game = new LuckyNumber();
game.start();
}
}
Player.java
class Player {
int randomNumber;
randomNumber = 0;
public void roll(){
randomNumber = (int) (Math.random() * 10);
}
}
LuckyNumber.java
class Launcher {
public static void main(String[] args) {
LuckyNumber game;
game = new LuckyNumber();
game.start();
}
}
Первая версия кода компилируется без проблем,но вторая версия кода не может быть скомпилирована, и компилятор показывает следующие ошибки:
.\Player.java:4: error: <identifier> expected
randomNumber = 0;
^
.\Player.java:4: error: cannot find symbol
randomNumber = 0;
^
symbol: class randomNumber
location: class Player
2 errors
Так вот вопрос, почему:
int variable;
variable = 0;
не совпадает с:
int variable = 0;
А какая разница?