【发布时间】:2014-11-04 23:49:39
【问题描述】:
我有这个方法:
public static String appliquerCoup( String combinaison, String coup ){
String res = "";
for(int i = 0; i < 3; i++){
res = res + (combinaison.charAt(i) - coup.charAt(i));
}
return res;
}
如果我在主要应用这个
System.out.println(appliquerCoup("414", "020")
我有:
4-14
尽管合乎逻辑,但它给我一个-1 代表2-1 = -1
如果操作不如0,我希望它把我设为0。
所以我做了这些改变:
public static String appliquerCoup( String combinaison, String coup ){
String res = "";
for(int i = 0; i < 3; i++){
char cFinal = combinaison.charAt(i) - coup.charAt(i);
if(cFinal < '0')
cFinal = 0;
res = res + cFinal;
}
return res;
}
但它是说我在第 4 行有
possible loss of precision
found :int; required: char
你能帮我找到解决办法吗?我已经尝试了很长时间。
非常感谢
【问题讨论】:
-
尝试将您的字符转换为整数。执行字符减字符操作没有多大意义。我也不确定你想做什么......如果你能详细说明一下。
-
解释一下:我想做的是以下内容:例如:我想在 414 上减去 020...预期的结果是 404。你会明白你用第一,第二和第二,第三和第三……如果减法是负数,它必须返回0。清楚吗?
-
您对那里的输入非常有信心;你真的希望输入字符串中只有数字吗?
-
@khelwood 找到解决方案,谢谢你们......
标签: java string character operation