Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不是Java中的语句_Java - Fatal编程技术网

不是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 + ");
          } 
      }