Java 我可以使用';从字符串参数创建int数组吗;每个';环

Java 我可以使用';从字符串参数创建int数组吗;每个';环,java,for-loop,foreach,Java,For Loop,Foreach,我编写了下面的代码,它给出了一个编译时错误 public static void main(String[] args) { for (int number : args) { number = Integer.parseInt(args); System.out.println(number); int sum = 0; sum += number; System.out.println(sum);

我编写了下面的代码,它给出了一个编译时错误

public static void main(String[] args) {
    for (int number : args) {
        number = Integer.parseInt(args);
        System.out.println(number);
        int sum = 0;
        sum += number;
        System.out.println(sum);
    }
}
试试这个:

public static void main(String[] args) {
    for (String numberText : args) {
        int number = Integer.parseInt(numberText);
        System.out.println(numberText);
        int sum = 0;
        sum += number;
        System.out.println(sum);
    }
}

代码中有两个问题:

  • 在每个语句的
    中,必须使用数组(
    String[]
    )的单个变量(
    String
    )从数组中逐个输入。但是,您的代码将
    int
    用于
    String[]
    类型不匹配
  • 变量
    sum
    应在循环外声明。除非为每个循环新创建了
    sum
    范围不合适
  • 然后代码将被修改如下:

    public static void main(String[] args) {
        int sum = 0;
        for (String arg : args) {
            int number = Integer.parseInt(arg);
            System.out.println(number);
            sum += number;
            System.out.println(sum);
        }
    }
    

    您不需要将该值从int转换为其对象类型引用,除非您使用的是string,只需删除

    int number=Integer.parseInt(args);
    
    对于每个循环,您必须将数组传递给。您可以尝试如下示例:

    希望这会有所帮助

    public static void main(String[] args) {
            int sum = 0;
            int[] arg = { 1, 2, 3, 4, 5, 6 };
            for (int value : arg) {
                sum += value;
                System.out.println(sum);
            }
        }
    }
    

    请为编程语言@Nishant:Compatible type in for loop添加标记。这就是你得到的编译时错误。你的第二点是
    println
    可以处理多种数据类型。@Reseeman感谢您的建议。你是对的。我把Android中的
    println
    误认为是
    Log(String,String)