2016-01-08 2 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, BAD: 'class attendance_and_student_management'. ЛУЧШЕ: 'public class AttendanceAndStudentManagement {...}': 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() в другом классе. Статические блоки выполняются, когда класс загружается, т. Е. До создания первого объекта или первого вызова статического метода.

Смежные вопросы