给你个意见 , 多个参数声明时,最好先给初始值, 比如 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变量没有定义类型
懂了,感谢