读书人

小弟我的一个程序帮忙看一下~@_@

发布时间: 2012-01-09 21:05:42 作者: rapoo

我的一个程序,帮忙看一下~~@_@
经过千辛万苦,终于在QD上运行了Hello World……
然后运行自己的一个程序。。


Wireless Toolkit 2.5.1,ea上测试通过
拿到QD上,运行,就显示“Application Error,exiting...”


为什么?该怎么办?
用MIDP-1.0,CLDC-1.0

附程序源代码:


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;

public class Check extends MIDlet implements CommandListener
{
private Form fm, fm2;
private Display ds;
private Command exitCom;
private Command enterCom;
private TextField tf;
private StringBuffer result=new StringBuffer();
public Check()
{
ds = Display.getDisplay (this);
tf = new TextField ( "How many ", " ", 10, TextField.DECIMAL);
exitCom = new Command ( "Exit ", Command.EXIT, 1);
enterCom = new Command ( "OK ", Command.EXIT, 1);
fm = new Form( "Check ");
fm.append (tf);
fm.addCommand (exitCom);
fm.addCommand (enterCom);
fm.setCommandListener (this);
}

protected void startApp()
{
ds.setCurrent (fm);
}

protected void pauseApp()
{}

protected void destroyApp(boolean u)
{}

public void commandAction (Command c, Displayable d)
{
if (c == exitCom)
{
destroyApp (false);
notifyDestroyed();
}

if (c == enterCom)
{


int n, tp;
fm2 = new Form( "Result ");
n = Integer.parseInt(tf.getString());
if(n> 30)fm2.append( "你们班哪有那么多人? ");
else
{
Random tmp = new Random();
int[] temp = new int[30];
temp[0] = tmp.nextInt (30)+1;
if(temp[0]==29)temp[0]=31;
else
{
temp[0] = tmp.nextInt(30) + 1;
if(temp[0]==29) temp[0] = 31;
if(n> 1)
for(int i=1;i <n;i++)
{
temp[i]=tmp.nextInt(30)+1;
if(temp[i]==29)temp[i]=31;
for(int j=i-1;j> =0;j--)
if(temp[j]==temp[i]){j=0;i--;}
}
for(int i=0;i <n;i++)
for(int j=i;j <n;j++)
if(temp[i]> temp[j]){tp = temp[i];temp[i]=temp[j];temp[j]=tp;}
for(int i=0;i <n;i++)
result.append(temp[i] + "\n ");


}
fm2.append( " " + result);
}
fm2.addCommand (exitCom);
fm2.setCommandListener (this);
ds.setCurrent (fm2);
}
}
}

[解决办法]
UP
[解决办法]
我用的是Eclipse3.2运行你这段程序很正常啊
[解决办法]
贴一下你的JAD看下
[解决办法]
WTK2.5运行你的程序也是正常的
[解决办法]
你是不是混淆打包了啊?
[解决办法]
学习
[解决办法]
学习
[解决办法]
我通过了。
[解决办法]
你的MF文件呢
是否和jad里对应一样?
[解决办法]
学习
帮顶
[解决办法]
程序是没问题的,应该是QD的兼容性太差了.
[解决办法]

[解决办法]
你看一下你的QD中是否支持j2me编程的程序,如果不支持,就下载一个微型的wtk到你的手机中,这样就可以运行你的程序了

读书人网 >J2ME开发

热点推荐