我得到就行了以下信息:「私人的讀者=新的BufferedReader(新的FileReader(deleteRecord));」:令牌「讀者」誤差VariableDeclartorID後預計此令牌
語法錯誤,VariableDeclartorID預計在此之後令牌
代碼:
import java.io.BufferedWriter;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Scanner;
public class ExamGradesMethods {
private static int examMark = 0;
private static int menu = 0;
private static String firstName = "";
private static String firstNameDelete = "";
private static String lastName = "";
private static String lastNameDelete = "";
private static String unit = "";
private static String entry = "";
private static String firstCap = "";
private static String surCap = "";
private static Scanner scan = new Scanner(System.in);
private static BufferedReader reader = null;
private FileWriter grades = new FileWriter("GradeEnter.txt",true);
private BufferedWriter bw = new BufferedWriter(grades);
private PrintWriter out = new PrintWriter(bw);
private reader = new BufferedReader(new FileReader(deleteRecord));
private static File deleteRecord = new File("GradeEnter.txt");
public static void menuActions()
{
System.out.println("Menu: ");
System.out.println("1) Enter Student Grade(s)");
System.out.println("2) View Student Grade(s)");
System.out.println("3) Delete Grade(s)");
System.out.println("4) Exit");
menu = scan.nextInt();
switch(menu) {
case 1:
enterGrades();
break;
case 2:
viewGrades();
break;
case 3:
deleteGrades();
break;
case 4:
exitProgram();
break;
default:
menuActions();
}
}
public static void enterGrades()
{
System.out.print("Please enter student first name: ");
firstName = scan.next();
while(!firstName.matches("[-a-zA-Z]*"))
{
System.out.print("Please enter a valid first name: ");
firstName = scan.next();
}
firstCap = firstName.substring(0,1).toUpperCase() + firstName.substring(1);
System.out.print("Please enter student surname: ");
lastName = scan.next();
while(!lastName.matches("[-a-zA-Z]*"))
{
System.out.print("Please enter a valid surname: ");
lastName = scan.next();
}
surCap = lastName.substring(0,1).toUpperCase() + lastName.substring(1);
System.out.print("Please select Subject Unit: ");
unit = scan.next();
System.out.print("Please enter student mark: ");
while (!scan.hasNextInt())
{
System.out.print("Please enter a valid mark: ");
scan.next();
}
examMark = scan.nextInt();
if (examMark < 40)
{
System.out.println("Failed");
}
else if (examMark >= 40 && examMark <= 49)
{
System.out.println("3rd");
}
else if (examMark >= 50 && examMark <= 59)
{
System.out.println("2/2");
}
else if (examMark >= 60 && examMark <= 69)
{
System.out.println("2/1");
}
else if (examMark >= 70 && examMark <= 100)
{
System.out.println("1st");
}
else
{
System.out.println("Invalid Mark");
}
entry = (firstCap + " " + surCap + ", " + unit + ", " + examMark);
// out.println(entry);
menuActions();
}
public static void viewGrades() {
int i =1;
String line;
while ((line = reader.readLine()) != null) {
System.out.println(i + ") " + line);
i++;
}
menuActions();
}
public static void deleteGrades(){
int i = 1;
String line;
File tempFile = new File("MyTempFile.txt");
BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
System.out.println("Current Entries Stored: ");
i =1;
while ((line = reader.readLine()) != null) {
System.out.println(i + ") " + line);
i++;
}
Scanner scanner = new Scanner(System.in);
System.out.print("To delete, please enter student's First Name: ");
firstNameDelete = scanner.nextLine();
System.out.print("Now, please enter student's Surname: ");
lastNameDelete = scanner.nextLine();
reader.close();
reader = new BufferedReader(new FileReader(deleteRecord));
String currentLine = reader.readLine();
while(currentLine != null) {
if(!currentLine.contains(firstNameDelete) && !currentLine.contains(lastNameDelete)) {
writer.write(currentLine);
writer.newLine();
}
currentLine = reader.readLine();
}
System.out.print("if name matches, it will be deleted ");
reader.close();
writer.close();
deleteRecord.delete();
tempFile.renameTo(deleteRecord);
}
public static void exitProgram(){
System.out.println("Thanks for using 'GradeEnter' ");
System.exit(0);
// Are you sure you want to exit gui?
}
public static void main(String[] args) throws Exception {
System.out.println("Welcome to the 'GradeEnter' program! ");
menuActions();
}
}
我環顧四周,並不能找到在這個問題上任何東西。如果有人能幫忙,我會很感激。由於
Java是一種面向對象的語言 - 讓所有'static'變量實例變量 – Reimeus