J2ME Двойное значение Проблема - PullRequest
0 голосов
/ 19 апреля 2011

Я не могу отобразить двойное значение в TextField после некоторой обработки.По сути, я просто конвертирую Цельсий в FarenHeit в приложении-конвертере.Вот код


   double c = Double.parseDouble(t1.getString());
   double f = c * (9.0D/5.0D) + 32.0D;


Netbeans is giving me the following runtime error

TRACE: , Exception caught in Display class
java.lang.IllegalArgumentException
        at javax.microedition.lcdui.TextField.setCharsImpl(), bci=127
        at javax.microedition.lcdui.TextField.setString(), bci=37
        at ConverterMain.convert(ConverterMain.java:139)
        at ConverterMain.commandAction(ConverterMain.java:66)
        at javax.microedition.lcdui.Display$ChameleonTunnel.callScreenListener(), bci=46
        at com.sun.midp.chameleon.layers.SoftButtonLayer.processCommand(), bci=74
        at com.sun.midp.chameleon.layers.SoftButtonLayer.commandSelected(), bci=11
        at com.sun.midp.chameleon.layers.MenuLayer.keyInput(), bci=290
        at com.sun.midp.chameleon.CWindow.keyInput(), bci=38
        at javax.microedition.lcdui.Display$DisplayEventConsumerImpl.handleKeyEvent(), bci=17
        at com.sun.midp.lcdui.DisplayEventListener.process(), bci=277
        at com.sun.midp.events.EventQueue.run(), bci=179
        at java.lang.Thread.run(Thread.java:619)


Ответы [ 2 ]

1 голос
/ 20 апреля 2011

setString

f+""

означает преобразовать его в строку при настройке в поле

0 голосов
/ 20 апреля 2011

Трудно сказать с таким небольшим количеством кода.На вашем месте я бы добавил пару журналов, например

System.out.println(t1.getString());
double c = Double.parseDouble(t1.getString());
System.out.println(c);
double f = c * (9.0D/5.0D) + 32.0D;
System.out.println(f);

Вы уверены, что t1.getString () является допустимым Double?Попробуйте использовать блок try-catch

...