gpt4 book ai didi

java - 如何读取以逗号分隔的名称列表 Java

转载 作者:行者123 更新时间:2023-12-01 09:07:11 28 4
gpt4 key购买 nike

所以我有一个任务,从文本文件中读取动物的常用名和学名,用逗号分隔。 (即狗、犬狼疮)。首先按通用名称的字母顺序对它们进行排序并打印到控制台,然后按科学名称的字母顺序对它们进行排序并打印到控制台。我在读取文件并将它们放入数组中的类时遇到问题。抱歉,如果这段代码严重错误,我仍在学习。这是给我带来问题的代码:

String[] commonname = new String[25];
String[] scienname = new String[25];
public static String readNames(String[] commonname, scienname) throws IOException {
BufferedReader inputStream = null;
try {
inputStream = new BufferedReader(new FileReader("/C:/Desktop/animals.txt"));
String line = null;
while ((line = inputStream.readLine()) != null) {
Scanner sc = new Scanner(line);
sc.useDelimiter(",");
String common = sc.next();
String scient = sc.next();
String list = new String(common, scient);
}
}
finally {
if (inputStream != null) {
inputStream.close();
}
}
}
}
}

我收到 2 个错误,

"
File: C:\Users\Nathan\Desktop\Program5.java [line: 16]
Error: Syntax error on token "(", ; expected
File: C:\Users\Nathan\Desktop\Program5.java [line: 16]
Error: Syntax error, insert ";" to complete LocalVariableDeclarationStatement
"

我已经在它要求的行中给出了 ( ,据我所知,不应该需要 ; 。它非常不完整,我很乐意帮助您将名称读入具有通用名称和科学名称的字符串,但可以按字母顺序排序 或 如果有意义的话。如果有任何启发的话,这是完整的代码:

/**
* Auto Generated Java Class.
*/
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.Arrays;

import java.util.Scanner;
public class Program5 {
String[] commonname = new String[25];
String[] scienname = new String[25];

public static void main(String[] args) throws IOException {
String list = readNames;
Arrays.sort(list);
for(int i = 0; i < list.length; i++)
System.out.println(list[i]);


public static String readNames(String[] commonname, String[] scienname) throws IOException {
BufferedReader inputStream = null;
try {
inputStream = new BufferedReader(new FileReader("/C:/users/Nathan/Desktop/animals.txt"));
String line = null;
String[] list = new String[25];
while ((line = inputStream.readLine()) != null) {
Scanner sc = new Scanner(line);
sc.useDelimiter(",");
String common = sc.next();
String scient = sc.next();
String list = new String(common, scient);
}
}
finally {
if (inputStream != null) {
inputStream.close();
}
}
}
}

}

最佳答案

行读取和解析看起来不错,但您没有存储 list任何地方。在您的while之前循环,为你的对声明一个容器。您可以使用Array ,但由于它们必须按字母顺序排序,您不妨将它们放入 TreeSet<(String,String)> 中。 ,这将为您排序。要打印排序列表,请调用集合的 iterator()方法循环遍历其值。

关于java - 如何读取以逗号分隔的名称列表 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41173280/

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