Я объясняю свою программу. Эта программа имеет два файла и два файла имеют ученика нет, имя студента и фамилию.Как читать из текстового файла в стек и очереди с использованием двусвязного списка в java
Пример:
queues.txt:
- Student_No # Имя # Фамилия
- 1234 # Джейн # Weber #
- 1235 # Джонсон # Рой
- 1267 # Генри #Morin
- stack.txt:
- Student_No # Имя # Фамилия
- 3456 # Джейн # подветренной
- 7535 # Johnson # Perez
- 1967 # Генри # Фортин
Как я могу читать и бросить стек и очередь? Программа имеет класс данных, класс узла, класс стека, класс очереди и основной класс. Я делал каждый класс, кроме основного класса, потому что я не могу прочитать файл после стека бросков и очереди.
public static void main(String[] args) throws IOException {
Stack stack = new Stack();
Queues queue = new Queues();
File stackfile = new File("stack.txt");
if (!stackfile.exists()) {
stackfile.createNewFile();
} else {
System.out.println("File is done");
}
FileReader r= new FileReader(stackfile);
BufferedReader reader = new BufferedReader(r);
String line = null;
Data data= new Data(); // this class have String name, surname and string number
int i=1;
while ((line=reader.readLine())!=null) {
{ if(line.trim().equals("#")){
stack.Push(data);
data=new Data();
i=1;
}
else{
if(i==1){
data.setNo(line);
}
else if(i==2){
data.setName(line);
}
else if(i==3){
data.setSurName(line);
}
i++;
}
}
}
stack.Push(data);
reader.close();
File queuefile = new File("queue.txt");
if (!queuefile.exists()) {
queuefile.createNewFile();
} else {
System.out.println("File is done");
}
BufferedReader read = null;
read = new BufferedReader(new FileReader(queuefile));
String lines = read.readLine();
while (lines != null) {
System.out.println("Read from queue: " + lines);
{ if(lines.trim().equals("#")){
queue.insert(data);
data=new Data();
i=1;
}
else{
if(i==1){
data.setNo(line);
}
else if(i==2){
data.setName(line);
}
else if(i==3){
data.setSurName(line);
}
i++;
}
}
}
queue.insert(data);
read.close();
}
}
Не могли бы вы также опубликовать свои другие классы? – thatguy
Хорошо, я сделал это – mrsengineer
Что такое 'kuyruk' в вашем' main' методе? Он не определен. Кроме того, вам не нужны пользовательские классы 'Stack' и' Queue', Java уже предлагает те, которые находятся в пакете 'java.util'. – thatguy