ファイルを読み込んでコンソールにデータを出力する必要がありますが、このエラーメッセージが表示されるという問題があります。スレッド "main" java.lang.NumberFormatException:入力文字列の場合: "UNKNOWN"私は整数として最大の長さを入れましたが、どうやってそれを文字列としても入れますか?整数と文字列を持つデータをテキストファイルに読み込みます - Java
は、ここで私がこれまで行っているものです:
import java.util.*;
import java.io.*;
public class Task1 {
public static void main(String[] args) {
List<Person> personFile = new ArrayList<>();
try {
BufferedReader br = new BufferedReader(new FileReader("people-data.txt"));
String fileRead = br.readLine();
while (fileRead != null) {
String[] peopleData = fileRead.split(":");
String commonName = personData[0];
String latinName = personData[1];
int maximumLength = Integer.parseInt(personData[2]);
Person personObj = new Person(commonName, latinName, maximumLength);
personFile.add(personObj);
fileRead = br.readLine();
}
br.close();
}
catch (FileNotFoundException ex) {
System.out.println("File not found!");
}
catch (IOException ex) {
System.out.println("An error has occured: " + ex.getMessage());
}
System.out.println(personFile);
}
}
人クラス:
import java.util.*;
public class Person1 {
private String commonName;
private String latinName;
private int maximumLength;
public Person1(String personName, String latinName, int maximumLength) {
this.commonName = personName;
this.latinName = latinName;
this.maximumLength = maximumLength;
}
public String getCommonName() {
return commonName;
}
public String getLatinName() {
return latinName;
}
public int getMaximumLength() {
return maximumLength;
}
@Override
public String toString() {
return null;
}
}
テキストファイル:
Alisha Khan:Cephaloscyllium ventriosum:100
Jessica Lane:Galeocerdo cuvier:UNKNOWN
Michael Brown:Sphyrna mokarren:600
...
私はそれがUNKNOWNとしてプリントアウトしたい、私がするSystem.out.printlnを使用する必要がありますでしょうか? – User786
確かに、印刷のポイントに達すると、値が-1(または "UNKNOWN"の解析時間で選択した固定値)であるかどうかをチェックし、-1の場合は "UNKNOWN"を出力し、そうでなければ印刷する実際の値 – jingx