2016-01-08 36 views
0
import java.io.*; 

class attendance_and_student_management { 
    BufferedReader bw = new BufferedReader(new InputStreamReader(System.in)); 

    File f5 = new File("e.txt"); 
    f5.createNewFile(); 
    File f4 = new File("d.txt"); 
    f4.createNewFile(); 
    File f3 = new File("c.txt"); 
    f3.createNewFile(); 
    File f2 = new File("b.txt"); 
    f2.createNewFile(); 
    File f1 = new File("a.txt"); 
    f1.createNewFile(); 
} 

我想我的程序開始創建5個文件,但是當我編譯我的程序的編譯器突出f5.createNewFile();,給預期的錯誤。<identifier>在Java中預計編譯錯誤[3]

+0

1.你不能只在類中的任何地方添加代碼行。他們需要在類方法中。 2,壞的:'class attendance_and_student_management'。更好:'公共班出勤和學生管理{...}':http://java.about.com/od/javasyntax/a/nameconventions.htm – paulsm4

回答

1

你需要將你的代碼包裝在一個方法中。你不能直接在課堂上有正常的陳述。

一種你來包裝這個良好的方法是在一個main方法:

import java.io.*; 

class attendance_and_student_management { 
    public static void main(String[] args) { 
     BufferedReader bw = new BufferedReader(new InputStreamReader(System.in)); 

     File f5 = new File("e.txt"); 
     f5.createNewFile(); 
     File f4 = new File("d.txt"); 
     f4.createNewFile(); 
     File f3 = new File("c.txt"); 
     f3.createNewFile(); 
     File f2 = new File("b.txt"); 
     f2.createNewFile(); 
     File f1 = new File("a.txt"); 
     f1.createNewFile(); 
    } 
} 

,將其置於一個main方法,你可以直接調用命令行本類。

請注意,按照Java命名約定,類名應使用CamelCase並以大寫字母開頭。因此,根據這些慣例,您的班級的專用名稱是AttendanceAndStudentManagement

1

您可以在一個類「正常聲明」靜態初始化是這樣的:

public class AttendanceAndStudentManagement { 
    BufferedReader bw = new BufferedReader(new InputStreamReader(System.in)); 

    static { 
    try { 
     File f5 = new File("e.txt"); 
     f5.createNewFile(); 
     File f4 = new File("d.txt"); 
     f4.createNewFile(); 
     File f3 = new File("c.txt"); 
     f3.createNewFile(); 
     File f2 = new File("b.txt"); 
     f2.createNewFile(); 
     File f1 = new File("a.txt"); 
     f1.createNewFile(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    } 
} 

根據你的使用情況,這可能是最好添加一個main()方法,因爲它也適用於存在在另一個類中的main()方法。靜態塊在加載類時執行,即在第一個對象被實例化或第一次調用靜態方法之前執行。