我正在阅读以下代码,我不明白本条款中sum-in
的含义:
if (sum-in == largest)
以下是该行的上下文:
public static String ArrayAdditionI(int[] arr) {
// find max
Arrays.sort(arr);
int largest = arr[arr.length - 1];
int sum = 0;
for (int i = 0; i < (arr.length - 1); i++) {
sum += arr[i];
}
java.util.List<Integer> list = new java.util.ArrayList<Integer>();
for (int i = 0; i < (arr.length - 1); i++) {
list.add(arr[i]);
}
if (largest == sum) return "true";
for (Integer in : list) {
if (sum-in == largest){
return "true";
}
}
return "false";
}
答案 0 :(得分:3)
它的减法。它可以改写为
if ( (sum - in) == largest)
编辑:我意识到这只是Java变量命名规则的结果。如果您滚动到此页面底部,您将看到naming rules。 TL; DR:变量名中允许的唯一符号是字母数字字符,下划线&#39; _&#39;和美元sighn&#39; $&#39;这并没有真正用得多。
答案 1 :(得分:1)
这只是一个减号。用于减法。总和减去。总和减去。
更一般地说,当您遇到类似问题时,应该使用print语句或调试器来查找更多信息。
&#34;嘿,我不确定那是做什么的,也许我应该尝试将其打印出来:&#34;
System.out.println(sum);
System.out.println(in);
System.out.println(sum-in);
System.out.println(largest);
System.out.println(sum-in == largest);
答案 2 :(得分:1)
这是对此的巩固:
int temp = sum - in;
if (temp == largest){
...