public Boolean prendiTessera(TipoTerreno tipo) {
switch(tipo){
case PIANURA: tesserePianura != 4 ? tesserePianura++ : return false;
case CAMPAGNA: tessereCampagna != 4 ? tessereCampagna++ : return false;
case MONTAGNA: tessereMontagna != 4 ? tessereMontagna++ : return false;
case DESERTO: tessereDeserto != 4 ? tessereDeserto++ : return false;
case FIUME: tessereFiume != 4 ? tessereFiume++ : return false;
case BOSCO: tessereBosco != 4 ? tessereBosco++ : return false;
default: return false;
}
return true;
}
Eclipse报告以下错误(每一行):
令牌“!=”上出现语法错误,AssignmentOperator无效
令牌“return”出现语法错误,请删除此令牌
类型不匹配:无法从布尔值转换为int值
变量:
特塞雷皮亚努拉私人酒店;
私人信息;
私人信息;
特塞雷德斯托一等兵;
私人int tessereFiume;
特塞雷博斯科私人酒店;
枚举类:
public enum TipoTerreno {
/** terreno pianura. */
PIANURA,
/** terreno campagna. */
CAMPAGNA,
/** terreno montagna. */
MONTAGNA,
/** terreno deserto. */
DESERTO,
/** terreno fiume. */
FIUME,
/** terreno bosco. */
BOSCO,
/** terreno Sheepsburg. */
SHEEPSBURG;
}
这是用三元运算符纠正这个错误的最简单方法
public Boolean prendiTessera(TipoTerreno tipo) {
int test;
switch(tipo){
case PIANURA: test= ( tesserePianura != 4) ? tesserePianura++ : 0; break;
case CAMPAGNA: test=( tessereCampagna != 4) ? tessereCampagna++ : 0;break;
case MONTAGNA: test= (tessereMontagna != 4) ? tessereMontagna++ : 0;break;
case DESERTO: test= (tessereDeserto != 4) ? tessereDeserto++ :0;break;
case FIUME: test= (tessereFiume != 4) ? tessereFiume++ : 0;break;
case BOSCO:test= (tessereBosco != 4) ? tessereBosco++ :0;break;
default: test=0;
}
return (test==1);
}
把你的代码改成这个,你的问题就解决了
public Boolean prendiTessera(TipoTerreno tipo) {
boolean flag=true;
switch (tipo) {
case PIANURA: flag=tesserePianura != 4 ? true :false; break;
case CAMPAGNA: flag=tessereCampagna != 4 ? true : false;break;
case MONTAGNA: flag=tessereMontagna != 4 ? true : false;break;
case DESERTO: flag=tessereDeserto != 4 ? true : false;break;
case FIUME: flag=tessereFiume != 4 ? true : false;break;
case BOSCO: flag=tessereBosco != 4 ? true : false;break;
default: flag=false;
}
if (flag)
tessereMontagna++;
return flag;
}
问题描述:
tesserePianura != 4 ? tesserePianura++ : return false;
你的这一行不是一个完整的陈述,这就是为什么你会出错。你的其他部分/最后一部分是一个完整的语句,不能用表达式表达(即三元运算符)。
此外,三元运算符意味着产生一些直接或间接分配给某个变量的结果。
让我给你解释一下这个直接任务
flag=tessereBosco != 4 ? true : false;
在这种情况下,值直接分配给变量标志
。
间接转让
System.out.println(tessereBosco != 4 ? true : false);
在这种情况下,将对函数的(即,println()
)变量进行赋值。
问题内容: 我碰到了以下内容 在这种情况下,和是什么意思? 问题答案: 它称为条件运算符(是三元运算符)。 它有以下形式:?: 认为“ then”和“ else”。 您的代码等同于
主要内容:示例冒号()是MATLAB中最有用的操作符之一。它用于创建向量,下标数组,并为迭代指定。 如果要创建一个包含从到的整数的行向量,则书写为 - MATLAB执行语句并返回一个包含整数的行向量,从到 - 如果要指定一个增量值,例如 - MATLAB执行语句并返回以下结果 - 再来看看一个例子 - MATLAB执行语句并返回以下结果 - 可以使用冒号运算符创建索引向量,以选择数组的行,列或元素。 下表描述了
问题内容: 我正在尝试使用Go(不在GAE上)为Bitcoin调用HTTP JSON-RPC服务器,但是出现错误 要么 我尝试了各种网络配置,但无济于事。当我在浏览器中键入地址时,服务器收到了响应: 对于空电话,这看起来像是正确的响应。 如何在Go中正确调用该HTTP JSON-RPC服务器? 问题答案: 在主机周围使用方括号,如下所示: 参考: http://golang.org/src/pkg
冒号:是MATLAB里面一个十分重要的算子,适用于各种不同的表达式。 例如表达式 1:10 表示一行从1到10的整数 1 2 3 4 5 6 7 8 9 10 为了改变递变的间隔,可以指定一个间隔长度 ,例如 100:-7:50 表示为 100 93 86 79 72 65
问题内容: 问号和冒号是什么意思? 谢谢 问题答案: 这是PHP 三元运算符(也称为条件运算符)-如果第一个操作数的值为true,则计算为第二个操作数,否则为第三个操作数。 将其视为可以在表达式中使用的“ if”语句。在根据某些条件进行简洁的分配时可能非常有用,例如 还有一个简写版本(从PHP 5.3开始)。您可以省略中间操作数。如果为真,则运算符将作为第一个操作数,否则为第三个操作数。例如: 值
我想使用此模式创建一个数据帧: 代码: 但是有一些。显示抛出: 错误执行器:阶段0.0(TID 0)java中任务0.0中出现异常。lang.RuntimeException:编码时出错:java。lang.RuntimeException:scala。收集不可变$冒号$冒号不是结构架构的有效外部类型 编辑: 513和549应该是子列名而不是值。这是我期望的输出示例: