什么是'不是声明'?

时间:2013-04-26 04:23:01

标签: java compiler-errors

我正在尝试读取文件,然后将文件打印出来。跳过第一行。

这是我的代码。

import java.util.Scanner;
import java.io.File;
import java.io.*;
public class cas{
public static void main(String[] args) {
Scanner CL = new Scanner(new File("myBoard.csv"));
    CL.nextLine;
    while(CL.hasNext){
        String[] tempAdd = CL.nextLine.split(" ");
        for(int i = 0; i<tempAdd.length; i++)
            System.out.print(tempAdd[i] + " ");
        System.out.println();
    }

}
}

我收到此错误

cas.java:7: not a statement
    CL.nextLine;

这句话是不是应该将指针移动到下一行而不对它做什么?

是的,它是一个方法调用,为什么编译器不能捕获其他CL.nextLine?

7 个答案:

答案 0 :(得分:3)

你必须改变 -

while(CL.hasNext)

到 -

while(CL.hasNext()){

CL.nextLine.split(" ")

到 -

CL.nextLine().split(" ")

您的版本应解释为“语法错误”。

答案 1 :(得分:0)

不应将nextLine执行为:

CL.nextLine();

如果你只是写“CL.nextLine”你已经说明了方法的名称,但这没有做任何事情,你必须用“()”执行方法。你必须用

做同样的事情
CL.hasNext();

答案 2 :(得分:0)

见下文我在需要的地方更改了代码。你错过了“()”。

CL.nextLine();
    while(CL.hasNext()){
        String[] tempAdd = CL.nextLine().split(" ");
        for(int i = 0; i<tempAdd.length; i++)
            System.out.print(tempAdd[i] + " ");
        System.out.println();
    }

答案 3 :(得分:0)

CL.nextLine;

这不是方法调用。您应该像下面这样称呼它:

CL.nextLine();

答案 4 :(得分:0)

Java编译器认为nextLine是一个公共类属性(我猜你试图调用nextLine方法,这意味着你应该使用CL.nextLine()),因为你不能拥有这样的属性而不将它作为一个变量或者某些事情这个陈述(CL.nextLine)是无效的。

答案 5 :(得分:0)

您需要使用括号方法:

scanner.nextLine();                              // nextLine() with brackets->()
while (scanner.hasNext()) {                      // hasNext() with brackets->()
  String[] tempAdd = CL.nextLine().split(" ");   // nextLine() with brackets->()
  for(int i = 0; i<tempAdd.length; i++)
    System.out.print(tempAdd[i] + " ");

  System.out.println();
}

答案 6 :(得分:0)

import java.util.Scanner;
import java.io.*;
public class puzzle {
public static void main(String[] args) {



    Scanner CL = null;

    try {
        CL = new Scanner(new File("F:\\large_10000.txt"));
    } catch (FileNotFoundException e) {

        e.printStackTrace();
    }
    CL.nextLine();
        while(CL.hasNextLine()){
            String[] tempAdd = CL.nextLine().split(" ");

            for(int i = 0; i<tempAdd.length; i++)
                System.out.print(tempAdd[i] + " ");
            System.out.println();
            break;
        }



}
}**strong text**

This code is working fine .just little mistakes.