Scanner console = new Scanner(System.in);
System.out.print("How many numbers do you have?");
int totalNumbers = console.nextInt();

double sum = 0.0;
for (int i = 1; i <= totalNumbers; i++); {
System.out.print(" #" + i + " ?");
double next = console.nextDouble();

sum += next;
}
Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
i cannot be resolved to a variable
程序报错,说黑体那行的i有问题,但是我怎么看都找不出问题啊?

解决方案 »

  1.   

    这是全部程序,我实在看不出i有什么问题
    import java.util.*;
    public class Cumulative {
    public static void main(String[] args) {
    System.out.println("This program calculates a sequense of numbers.");
    System.out.println();

    Scanner console = new Scanner(System.in);
    System.out.print("How many numbers do you have?");
    int totalNumbers = console.nextInt();

    double sum = 0.0;
    for (int i = 1; i <= totalNumbers; i++); {
    System.out.print(" #" + i + " ?");
    double next = console.nextDouble();

    sum += next;
    }
    System.out.println("sum = " + sum);
    }
    }
      

  2.   

    for (int i = 1; i <= totalNumbers; i++); 注意这个for循环后面的封号,这说明程序再这个封号前这个for循环就执行结束了,和后面的语句无关,简而言之就是这个封号造成了后面输出的i未定义的错误,把for后面的封号去掉就可以修复此错误
      

  3.   

    for (int i = 1; i <= totalNumbers; i++); {
     {前多了一个   ;
      

  4.   

    for(int i=0;i<10;i++);
      这样写可以通过,只是这样写没有循环体,就没有特别意思了
    for(int i=0;i<10;i++)
       systemt.out.println(9);
    这样写的话,去掉冒号,就可以循环打印9个9for(int i=0;i<10;i++)
       system.out.println(9);
        system.out.println(1);
    这样的话先打印9个9,在打印1个1
      

  5.   

    Exception in thread "main" java.lang.Error: コンパイル問題が未解決です: 
    i を解決できません at de.main(de.java:16)for(int   i=0;i <10;i++);  多一个;
      

  6.   


     this can't be a question!'
      

  7.   

    分号。
    import java.util.*;
    public class Cumulative {
    public static void main(String[] args) {
    System.out.println("This program calculates a sequense of numbers.");
    System.out.println();Scanner console = new Scanner(System.in);
    System.out.print("How many numbers do you have?");
    int totalNumbers = console.nextInt();double sum = 0.0;
    for (int i = 1; i <= totalNumbers; i++)/*; */{
    System.out.print(" #" + i + " ?");
    double next = console.nextDouble();sum += next;
    }
    System.out.println("sum = " + sum);
    }
    }
      

  8.   

    for语句后的分号
    严格按代码格式编写,应该可以避免因为这样的不细心造成的小错误
      

  9.   

    for (int i = 1; i <= totalNumbers; i++); 
    后面的;是多余的.平时注意些就行,别犯了这种错误!!