相关疑难解决方法(0)

在Java中的`if`语句中声明一个变量,根据条件,它是一个不同的类型

我知道,我知道,有很多简单的答案涵盖了大多数案例,以避免这种情况.

就我而言,我想使用用户输入信息在游戏中创建CPU播放器.如果用户选择简单模式,那么我想声明并实例化该类的实例EasyPlayer.否则,我想声明并实例化该类的实例HardPlayer.无论哪种方式,变量的特定名称必须是"cpu",其余代码不加选择地在"cpu"上运行.也就是说,这些操作的所有差异都构建在不同的类中,这些类是CpuPlayer类的子类.

所以这是代码:

// Set the opponent.
if (difficulty == 0){
    EasyPlayer cpu = new EasyPlayer(num_rounds);
}
else{
    HardPlayer cpu = new HardPlayer(num_rounds);
}
Run Code Online (Sandbox Code Playgroud)

这给了我一个令人讨厌的cannot find symbol错误.从我可以阅读的内容来看,每个人都说你不能在这样的条件下进行声明,因为范围问题和它永远不会发生的可能性.

如果是这样,根据用户输入,将单个变量声明为两个不同类别之一的正确方法是什么?

java declaration

5
推荐指数
1
解决办法
6263
查看次数

在for循环中声明的变量的范围

for(int i=0; i<10;i++){
 int j=0;
}
Run Code Online (Sandbox Code Playgroud)

是ja块变量还是局部变量?我看到j的范围只有for循环结束

java

3
推荐指数
1
解决办法
6738
查看次数

标签 统计

java ×2

declaration ×1