java.lang.NumberFormatException问题

时间:2014-03-11 10:20:17

标签: java string numberformatexception

我有一个变量,其中包含一些影响创建的weka模型的参数。我想自动更改参数值。我有以下内容:

String c [] ={"1.0", "10.0", "20.0", "30.0", "40.0", "50.0", "60.0","70.0", "80.0", 
"90.0","100.0", "200.0", "300.0", "400.0","500.0", "600.0", "700.0", "800.0", "1000.0",
"2000.0"};
    System.out.println(c[1]);
    String opt  = ("-C "+c[0] +"-L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K 
      weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 1.0 "); 

    String [] options = opt.split(" ");
    obj.train(new File(obj.str.get(2)), options);

我想在循环内自动更改C参数。但是,当我写下面的内容时:

        String opt  = ("-C "+c[1] +"-L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 1.0 "); 

我收到java.lang.NumberFormatException:输入字符串。我可能需要做些什么才能正常工作?该错误位于上述代码的最后一行。

1 个答案:

答案 0 :(得分:3)

我试一试:

String c [] ={"1.0", "10.0", "20.0", "30.0", "40.0", "50.0", "60.0","70.0", "80.0", "90.0","100.0", "200.0", "300.0", "400.0","500.0", "600.0", "700.0", "800.0", "1000.0", "2000.0"};
for (i = 0; i < c.length; i++){
    String opt  = String.format("-C %S 1.0 -L 0.001 -P 1.0E-12 -N 0 -V -1 -W 1 -K weka.classifiers.functions.supportVector.PolyKernel -C 250007 -E 1.0 ",c[i]); 
}

我使用了String.format(“”,...)函数并添加了%S作为占位符,其中c [i]的值将被放入。