【发布时间】:2020-02-04 21:33:34
【问题描述】:
当我输入 Y(试图再次运行这个程序)时,它没有编译。第一次很好。 但第二次尝试不起作用。 我不知道发生了什么,请帮助我解决这个问题。 该程序就像读取一个座位排列文件并将它们放入一个二维数组中。我正在尝试使用该功能来读取文件并显示座位安排。但它只能运行一次。
package Tickets;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) throws Exception
{
Scanner sc = new Scanner(new BufferedReader(new FileReader("A1.txt")));
int rows = 0;
int cols = 0;
char again;
Scanner input = new Scanner(System.in);
do
{
displayMenu();
switch(input.nextInt())
{
case 1:
System.out.println("\tReserve seat\t\n");
readFile(sc,rows,cols);
// Get user input
int rowNumber = 0;
char startingSeatNumber = 'Y';
break;
case 2:
System.out.println("Exiting the program");
System.exit(0);
break;
default:
System.err.println("Unrecgnized option");
}
System.out.println("Again?(Y/N)");
again = input.next().charAt(0);
}while (again == 'Y' || again == 'y');
}
public static List<String> readFile(Scanner sc, int rows, int cols) throws Exception
{
List<String> stringList = new ArrayList<>();
while (sc.hasNext())
{
stringList.add(sc.nextLine());
}
rows = stringList.size();
cols = 0;
if (rows > 0 )
{
cols = stringList.get(0).length();
}
// Display current seating.
char[][] auditorium = new char[rows][cols];
char alphabet = 'A';
for (int i = 1; i <= stringList.get(0).length(); i++)
{
System.out.print(" " + alphabet);
alphabet++;
}
System.out.println();
for (int r = 0; r < rows; r++)
{
System.out.print((r+1 ) );
for (int c = 0; c < cols; c++)
{
auditorium[r][c] = stringList.get(r).charAt(c);
System.out.print(auditorium[r][c]+ " ");
}
System.out.println();
}
return stringList;
}
public static void displayMenu()
{
System.out.println("1. Reserve Seats\n2. Exit");
}
}
错误信息:
【问题讨论】:
-
你怎么了,它不编译?如果您在其中输入输入,则它必须已经编译。
-
@khelwood,第二次没有编译。
-
@khelwood。我上传了错误图片。
-
@nidayeshilaozi ,这是运行时错误,不是编译错误。