【问题标题】:JavaFX InputMismatchException - Label from ScannerJavaFX InputMismatchException - 来自扫描仪的标签
【发布时间】:2017-04-06 08:39:03
【问题描述】:

会出现问题,因为我想从文本文件中制作标签,然后将其放入 VBOX,我得到 inputmismatchexception 并且它不制作新对象

VBox vertikalBox = new VBox();
try (Scanner s = new Scanner("rebricek.txt")) {
        while (s.hasNext()) {
            //InputMismatchException 
            vertikalBox.getChildren().addAll(new Label(""+ s.nextInt() + " " + s.next() + " " + s.nextInt()));
            s.nextLine();
        }


    } catch (Throwable t) {
        // inputmismatchexception - PROBLEM
        // this is for NoSuchElementException
        System.err.println("Vyskytla sa chyba pri praci zo suborom");
    }

文件内容:

1 nikto 10
2 nikto 0
3 nikto 0
4 nikto 0
5 nikto 0
6 nikto 0
7 nikto 0
8 nikto 0
9 nikto 0
10 nikto 0

【问题讨论】:

  • 将 nextInt 替换为 next。
  • getChildren().addAll() 也可以是 getChildren.add()。
  • next() 没有帮助的问题是在文本文件中,扫描仪无法读取它:(以及为什么它告诉我它上面没有 Line

标签: java javafx label java.util.scanner vbox


【解决方案1】:

您的扫描仪正在读取字符串“rebrickek.txt”而不是文件

File file = new File("rebricek.txt");

if(file.exist())
{
    Scanner s = new Scanner(file);
    .
    .
    .
}
else
{
    System.out.println("The file does note exist!");
}

【讨论】:

  • och xD IntelliJ 告诉我它的源 xD 所以我决定它的文件路径 (Scanner s = new Scanner(new File("rebricek.txt"))) 有效:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-28
  • 2018-05-18
  • 1970-01-01
  • 2021-10-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多