【问题标题】:Java UnknownFormatConversionException : Conversion = 'm'Java UnknownFormatConversionException:转换 = 'm'
【发布时间】:2017-04-26 13:25:09
【问题描述】:

我有这样的代码

if (jcb_rtsplit.isSelected()) {
        ArrayList<String> temp = P.RT_Split(dataTraining);
        writeFile(temp);
        cekRTSplit = true;
        cekRT = true;
    }

和这样的代码方法writefile():

public void writeFile(ArrayList<String> temp){
    CreatingFile file = new CreatingFile();
    file.openFile("RT Split.txt");
    for (int i = 0; i < temp.size(); i++) {
        file.addRecord(temp.get(i));
    }
    file.close();
}

这是像这样创建文件的代码:

private Formatter x;
public void openFile(String name){
    try {
        x = new Formatter(name);
    } catch (Exception e) {
        System.out.println("you have an error");
    }
}

public void addRecord(String input){
    x.format(input);
    x.format("%n", "pratiwi");
}

public void close(){
    x.close();

}

但是当我运行这个程序时,我有这样的错误:

Exception in thread "AWT-EventQueue-0" java.util.UnknownFormatConversionException: Conversion = 'm'
at java.util.Formatter$FormatSpecifier.conversion(Formatter.java:2691)
at java.util.Formatter$FormatSpecifier.<init>(Formatter.java:2720)
at java.util.Formatter.parse(Formatter.java:2560)
at java.util.Formatter.format(Formatter.java:2501)
at java.util.Formatter.format(Formatter.java:2455)
at program.CreatingFile.addRecord(CreatingFile.java:25)
at program.TUtama.writeFile(TUtama.java:758)

任何人都可以帮助我的代码?谢谢

【问题讨论】:

  • 相关代码在哪里? program.CreatingFile.addRecord
  • @Jens 上面的代码我已经编辑了
  • 而参数名称的内容是?
  • @Jens 示例:“datatraining.txt”。也就是参数名的内容
  • 输入的内容是?

标签: java format type-conversion


【解决方案1】:

您的文件包含导致异常的“%m”(“52.01% mengugguli”)。你可以试试这个简单的例子:

    Formatter f = new Formatter("datatraining.txt");
    f.format("%m");
    f.format("%n", "pratiwi");
    f.close();

输出:

Exception in thread "main" java.util.UnknownFormatConversionException: Conversion = 'm'
    at java.util.Formatter$FormatSpecifier.conversion(Unknown Source)
    at java.util.Formatter$FormatSpecifier.<init>(Unknown Source)
    at java.util.Formatter.parse(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at java.util.Formatter.format(Unknown Source)
    at Test.main(Test.java:14)

如果 % 符号不是格式说明符,您必须确保它被转义

【讨论】:

  • 我刚刚添加了 'System.out.println(f.format("%m"));' ??
  • @FaniaIndah 对不起没有得到你
猜你喜欢
  • 2020-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-12
  • 2014-03-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多