【发布时间】:2020-04-10 04:57:05
【问题描述】:
我刚开始学习 Dart,在做练习时卡住了。程序正在执行 'if' 语句,即使它是假的。代码如下。
void main() {
var x = 'hello';
if (x is int) {
int y = 0;
y = x % 2;
print("Integer");
switch (y) {
case 0:
print("Even");
break;
case 1:
print("Odd");
break;
default:
print("Unknown");
}
}
else if (x is double) {
print("Decimal");
}
else {
print("String");
}
}
控制台显示的错误是:
错误:没有为类“String”定义方法“%”。 尝试将名称更正为现有方法的名称,或定义名为“%”的方法。 y = x%2; ^
它适用于任何整数,但不适用于字符串或十进制值。
虽然如果我这样做,代码对所有值(整数、字符串和小数)都非常有效。
void main() {
var x = 'hello';
if (x is int) {
print("Integer");
}
else if (x is double) {
print("Decimal");
}
else {
print("String");
}
}
请帮忙。 谢谢
【问题讨论】:
-
替换“y = x % 2;”用“y = int.parse(x) % 2;”
标签: dart