gpt4 book ai didi

java - 在JavaFX中的Initialize方法中使用Scanner

转载 作者:行者123 更新时间:2023-12-01 12:32:05 25 4
gpt4 key购买 nike

如果这是我遇到的一个小问题,我很抱歉,但我无法解决这个问题。我在 JavaFX Controller 类的 Initialize 方法中使用两个扫描仪。第一个使用逗号作为分隔符,效果很好。另一种使用点作为分隔符,并使用字符串作为流。另一个不行。用点作为分隔符有问题吗?我在声明 int day 的行收到 NumberFormatException。

文件 ponude.txt 中的我的输入格式示例是 Kontiki, Kusadasi, 26.06.2013。

    import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.ResourceBundle;
import java.util.Scanner;

import javafx.fxml.FXML;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TextArea;
import javafx.scene.control.TextField;


public class FormController implements Initializable{
ArrayList<Ponuda> ponude = new ArrayList<Ponuda>();

@FXML Button bt1;

@FXML RadioButton rb1;
@FXML RadioButton rb2;

@FXML TextArea ta1;

@FXML TextField tf1;

@FXML private void bt1Click(){

}

@Override
public void initialize(URL arg0, ResourceBundle arg1) {
File file = new File("ponude.txt");
BufferedReader br=null;
try {
br=new BufferedReader(new FileReader(file));
} catch (FileNotFoundException e) {

e.printStackTrace();
}

String trL = null;
try {
trL = br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
while(trL!=null){
Scanner sc=new Scanner(trL);
sc.useDelimiter(",");

String agency=sc.next().trim();
String destination=sc.next().trim();



Scanner scInner = new Scanner(sc.next());
scInner.useDelimiter(".");

int day=Integer.parseInt(scInner.next().trim());
int month=Integer.parseInt(scInner.next().trim());
int year=Integer.parseInt(scInner.next().trim());
//System.out.println(scInner.next().toString());

Datum datum;


try {
trL= br.readLine();
} catch (IOException e) {
e.printStackTrace();
}
scInner.close();
sc.close();
}

}
}

最佳答案

useDelimiter 使用正则表达式作为其参数。点字符在正则表达式中用于 . 匹配任何字符,因此需要转义才能按字面解释

scanner.useDelimiter("\\.");

关于java - 在JavaFX中的Initialize方法中使用Scanner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25857241/

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