gpt4 book ai didi

java - 如何使用 useDelimiter 过滤信息

转载 作者:行者123 更新时间:2023-12-01 23:53:00 27 4
gpt4 key购买 nike

所以,我想做的是从文本文件中获取信息,

      For example, 134567H;Gabriel;24/12/1994;67;78;89

然后我在下拉列表中仅显示第一个管理员号码,而不是整行。这是我的代码:

    public static String[] readFile(){
String file = "output.txt";
ArrayList <String> studentList = new ArrayList <String> ();
try{
FileReader fr = new FileReader(file);
Scanner sc = new Scanner(fr);
sc.useDelimiter(";");

while(sc.hasNextLine()){
studentList.add(sc.nextLine());
}

fr.close();
}catch(FileNotFoundException exception){
System.out.println("File " + file + " was not found");
}catch(IOException exception){
System.out.println(exception);
}
return studentList.toArray(new String[studentList.size()]);
}

这就是我填充下拉列表的方式:

    public void populate() {
String [] studentList ;
studentList = Question3ReadFile.readFile();

jComboBox_adminNo.removeAllItems();

for (String str : studentList) {
jComboBox_adminNo.addItem(str);
}
}

但是,我现在的问题是下拉列表中的选项显示文本文件中的整行。它不只显示管理员号码。我已经尝试使用 useDelimiter 了。我应该用那个吗?

如有任何帮助,我们将不胜感激。提前致谢。

Rince帮助检查。

    public class Question3ReadFile extends Question3 {

private String adminNo;

public Question3ReadFile(String data) {
String[] tokens = data.split(";");
this.adminNo = tokens[0];
}

public static String[] readFile(){
String file = "output.txt";
ArrayList <String> studentList = new ArrayList <String> ();
try{
FileReader fr = new FileReader(file);
Scanner sc = new Scanner(fr);

while(sc.hasNextLine()){
studentList.add(new Question3ReadFile(sc.nextLine()));
}

fr.close();
}catch(FileNotFoundException exception){
System.out.println("File " + file + " was not found");
}catch(IOException exception){
System.out.println(exception);
}
return studentList.toArray(new String[studentList.size()]);
}

最佳答案

hasNext 和 next 而不是 hasNextLine 和 nextLine

public static void main(String[] args) {
String input = " For example, 134567H;Gabriel;24/12/1994;67;78;89";
Scanner scanner = new Scanner(input);
scanner.useDelimiter(";");
String firstPart = null;
while(scanner.hasNext()){
firstPart = scanner.next();
break;
}

String secondPart = input.split(firstPart)[1].substring(1);
System.out.println(firstPart);
System.out.println(secondPart);
scanner.close();
}

关于java - 如何使用 useDelimiter 过滤信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16082667/

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