带数组的令牌语法错误

时间:2015-12-14 11:14:39

标签: java arrays

我是Java编程新手。我正在尝试编写一个程序来计算数字13的前400个倍数,并将它们存储在一个带有整数的数组中。 我无法找到为什么这堂课有两个错误,我想我没有犯过任何错误。有人可以帮忙吗? 第一个错误(此行上有三个错误)在

System.out.println("the first 400 multiples of 13:" );
  

令牌“;”上的语法错误,{此符号后的预期值   令牌上的语法错误“”13的前400个倍数:“”,删除此令牌
  令牌上的语法错误,错位的构造

,第二个是最后一个}

在哪里说:

  

语法错误,插入“}”以完成ClassBody

public class multiples_of_13 {
 int[] thirteens = new int[400];
 int numFound = 0;
 // candidate: the number that might be a multiple
 // of 13
 int candidate = 1;

 System.out.println("the first 400 multiples of 13:" );

 while (numFound < 400) {
     if (candidate % 13 == 0) {
         thirteens[numFound] = candidate;
         numFound++;
     }
     candidate++;
 }
 System.out.println("First 400 multiples of 13:");
 for (int i = 0; i < 400; i++) {
    System.out.print(thirteens[i] + " ");
 }
}

3 个答案:

答案 0 :(得分:6)

您需要将代码放入main方法,因为它是您程序的输入。

关于这一点,指令不允许在类的主体内部,但在其中一个方法或块中。

解决方案

public class multiples_of_13 {
    public static void main(String[] args) {
        int[] thirteens = new int[400];
        int numFound = 0;
        // candidate: the number that might be a multiple
        // of 13
        int candidate = 1;

        System.out.println("the first 400 multiples of 13:" );

        while (numFound < 400) {
            if (candidate % 13 == 0) {
                thirteens[numFound] = candidate;
                numFound++;
            }
            candidate++;
        }
        System.out.println("First 400 multiples of 13:");
        for (int i = 0; i < 400; i++) {
            System.out.print(thirteens[i] + " ");
        }
    }
}

答案 1 :(得分:1)

您不能直接在类中编写语句。您需要添加一个方法,您可以将这些语句用于工作。

要解决此问题,请添加主方法。

答案 2 :(得分:0)

public class multiples_of_13 {
    public void findMultiples() {
        int[] thirteens = new int[400];
        int numFound = 0;
        // candidate: the number that might be a multiple
        // of 13
        int candidate = 1;

        System.out.println("the first 400 multiples of 13:" );

        while (numFound < 400) {
            if (candidate % 13 == 0) {
                thirteens[numFound] = candidate;
                numFound++;
            }
            candidate++;
        }
        System.out.println("First 400 multiples of 13:");
        for (int i = 0; i < 400; i++) {
            System.out.print(thirteens[i] + " ");
        }
    }
}

你不能直接在java中添加语句。因此,将它们包含在函数