java中,可能尚未初始化变量,求帮助

给你个意见 ,  多个参数声明时,最好先给初始值, 比如 int i = 0 , j =1 , h =2  ,否则使用的时候,会忘记是否初始化,报错

是不是 n=(int)a后漏了分号,sum+=i和i+=1后也是。

报错提示已经说的很清楚了 ,你的n没有初始化,Java中每个变量必须先声明,后使用

java不支持 int n,i=1 建议改成

int n = 1,i=1;

 

@Ryan-S 程序还没走到这里就已经报错了  分号也是必须的  但不是这里报错的原因

n加个初始值。

目前n的初始值只有一个地方,if(a>=1)

如果if进不去,n就永远没有初始值

还有别用记事本了

不同意楼上。

如果你想当个好的开发人员,

建议前期先用段时间txt

一上手就idea等ide是培训机构的一大弊病,难走远,误人子弟。

 

// a 的类型没有定义, 所以报错
//  另外不知道为什么有a还要n

import java.util.Scanner;


public class Test02 {

    public static void main(String[] args) {
        int n,i=1,sum=0;
        Scanner buf = new Scanner(System.in);
        int a = buf.nextInt();
        if (a >= 1){
            n = (int)a;
            while (i <= n){
                sum += i;
                i += 1;
            }

        }
        System.out.println("1 + 2 + ... + n += " + String.valueOf(sum));
    }
}

 

int n=1,i=1;

我这边编译的时候报错很明显。

1. 语句没有分号结束(编译的时候报的这个错)

2. if语句没有用大括号括起来

3. a变量没有定义类型

懂了,感谢