这是我的源代码:
Compilation error time: 0.1 memory: 320512 signal:0
Main.java:37: error: bad operand types for binary operator '-'
System.out.println( "a - b is " + a - b );
^
first type: String
second type: int
Main.java:46: error: bad operand types for binary operator '-'
System.out.println( "aD - bD is " +aD - bD );
^
first type: String
second type: double
2 errors
这是我的错误:
WebKeys.exportedMappings in Assets :=
(WebKeys.exportedMappings in Assets).value map { case (file, string) =>
import org.webjars.WebJarAssetLocator.WEBJARS_PATH_PREFIX
val prefix = s"${WEBJARS_PATH_PREFIX}/${moduleName.value}/${version.value}/"
(file, string.replace(prefix, ""))
}
我是java的新手,我仍在计算算术。我以为我做得很好,但我不明白出了什么问题。这很可能是一个真正的新手错误,但你能告诉我我做错了吗?
答案 0 :(得分:3)
"a - b is " + (a) - (b)`
表示:
("a - b is " + (a)) - (b)
。左侧部分(("a - b is " + (a))
)是一个字符串,您无法从字符串中减去。
您需要使用括号:
"a - b is " + (a - b)
答案 1 :(得分:0)
+
和-
考虑作为字符串操作,其中表达式从左到右进行评估。为了避免这种情况,标记减法带有高优先级,当你用()
System.out.println( "a - b is " + (a - b) );
现在由于优先级,括号(a-b)
内的表达式首先计算,然后从左到右计算整个表达式。