gpt4 book ai didi

Java 读取 .txt 文件并使用子字符串进行排序

转载 作者:行者123 更新时间:2023-11-30 07:46:06 24 4
gpt4 key购买 nike

所以我写出了打开并读取 .txt 文件然后打印内容的代码。现在我已经完成了,我想根据每一位数据中的第一个字符(F、T 或 P)将数据排序到三个单独的链表中。一些数据的示例 F12、F43、T31、P64、P17 ,T23等。所以这些在排序后应该看起来像这样......

F舱:F12、F43

T航站楼:T31、T23

湾P:P64,P17

对此的任何帮助都是值得赞赏的,我的意思是任何帮助。下面是到目前为止我的代码。

编辑:-好吧,我现在已经修改了更改,但仍然得到相同的打印结果。所以在更改之前我得到了这个打印 T16,T17,F99,F14,P34,P88,T63,F58,P02,P76,F77,T99,P14,P24,T88,F63,F53,T02 在更改之后我仍然得到了T16、T17、F99、F14、P34、P88、T63、F58、P02、P76、F77、T99、P14、P24、T88、F63、F53、T02 所以我不确定出了什么问题?

package stackandqueue;


import java.util.*;
import java.util.Stack;
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.util.LinkedList;
import java.util.StringTokenizer;
import java.util.Arrays;

public class StackAndQueue
{

public static void main(String[] args) throws IOException
{
// Create an three empty queues of station bays objects
LinkedList<String> bayoneQueue;
bayoneQueue = new LinkedList<String>();

LinkedList<String> baytwoQueue;
baytwoQueue = new LinkedList<String>();

LinkedList<String> baythreeQueue;
baythreeQueue = new LinkedList<String>();


// Open and read text file
String inputFileName = "PodData4.txt";
FileReader fileReader = null;

// Create the FileReader object
try {
fileReader = new FileReader("PodData4.txt");
BufferedReader br = new BufferedReader(fileReader);

String str;
while((str = br.readLine()) != null)
{
System.out.println(str + "\n");
switch (str.charAt(0))
{
case 'F':
bayoneQueue.add(str);
break;
case 'T':
baytwoQueue.add(str);
break;
case 'P':
baythreeQueue.add(str);
break;
default: // in case of invalid input!
}
}
br.close();

}catch(IOException ex)
{
//handle exception;
}

finally
{
fileReader.close();

// close resources
}

// Close the input



}
}

最佳答案

我想您所需要的只是 while 循环内的 switch 语句

while ((str = br.readLine()) != null) {
System.out.println(str + "\n");
switch (str.charAt(0)) {
case 'F':
bayoneQueue.add(str);
break;
case 'T':
baytwoQueue.add(str);
break;
case 'P':
baythreeQueue.add(str);
break;
default: // in case of invalid input!
}
}

还可以考虑将 fileReader.close() 语句移动到finally子句中,因为正如您的评论中提到的,它是一个“关闭资源”操作。

关于Java 读取 .txt 文件并使用子字符串进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33946600/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com