不是Java中的语句
这个程序将二进制转换成十进制。并将解决方案输出到控制台。启动时,它会给出一个错误:不是Java中的语句,java,Java,这个程序将二进制转换成十进制。并将解决方案输出到控制台。启动时,它会给出一个错误: source_file.java:20: error: ';' expected int sum + = numArr [i]; ^ source_file.java:20: error: not assertion int sum + = numArr [i];
source_file.java:20: error: ';' expected
int sum + = numArr [i];
^
source_file.java:20: error: not assertion
int sum + = numArr [i];
^
2 errors
我不知道是怎么回事。
如果不难,请写一个解决方案
import java.util.*;
import java.lang.NumberFormatException;
import java.util.Scanner;
//Compiler version JDK 11.0.2
class Dcoder
{
public static void main(String args[])
{
Scanner in = new Scanner(System.in);
System.out.println("Write num");
String str = in.nextLine();
int[] numArr = Arrays.stream(str.split("")).mapToInt(Integer::parseInt).toArray();
for(int i = numArr.length-1; i >= 0; i--){
numArr[i] = numArr[i] * 2;
int sum += numArr[i];
if (i == 0){
System.out.print(numArr[i]+" * 2 = "+sum);
}
else{
System.out.print(numArr[i]+" * 2 + ");
}
}
}
}
解决方法:
在for循环外部声明并初始化变量sum 如果要将以前迭代的总和存储在变量sum中,可以在for循环外部声明变量“sum” 请参考以下代码
int sum = 0;
for(int i = numArr.length-1; i >= 0; i--){
numArr[i] = numArr[i] * 2;
sum += numArr[i];
if (i == 0){
System.out.print(numArr[i]+" * 2 = "+sum);
}
else{
System.out.print(numArr[i]+" * 2 + ");
}
}