繁体中文
设为首页
加入收藏
当前位置:JSP技术首页 >> 资料/其它 >> J2ME游戏中读入文本并存储在String数组中

J2ME游戏中读入文本并存储在String数组中

2004-11-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:一个在J2SE中十分钟即告完成的代码,在J2ME中花费了一个下午.是什么样的代码呢? [要求]在游戏中读入文本形式存储的hints [分析] J2ME没有BufferReader,用InputStreamReader吧 既然没有BufferReader,也就不要奢望有...

一个在J2SE中十分钟即告完成的代码,在J2ME中花费了一个下午.是什么样的代码呢?

[要求]在游戏中读入文本形式存储的hints

[分析]

J2ME没有BufferReader,用InputStreamReader吧

既然没有BufferReader,也就不要奢望有readLine()了,自己慢慢循环吧

[源代码]

[code]

/* read hint-------------------------------------- */

/**

* This is the hints

* */

String[][] hintStr;

/**

* this specify the hint's show width

*/

final int hint_width = 8;

int hint_num;

public boolean readHint(int stage) {

if (stage > 0 && stage < 4) {

if (stage == 2) {

hint_num = 4;

} else {

hint_num = 3;

}

} else {

System.out.println("No this stage");

return false;

}

try {

String filename = "hint" + Integer.toString(stage);

InputStreamReader in = new InputStreamReader(getClass()

.getResourceAsStream(filename));

int num = -1;

do {

++num;

} while (in.read() != -1);

in.reset();

char[] hintsdat = new char[num];

System.out.println(num);

in.read(hintsdat);

in.close();

String hint_temp = new String(hintsdat);

int j = 0;

int i = 0;

String hint_num_temp[] = new String[hint_num];

for (int x = 0; x < hint_num; x++)

hint_num_temp[x] = "";

while (true) {

if (i < hintsdat.length) {

if (hintsdat[i] != '\n') {

hint_num_temp[j] += hintsdat[i];

i++;

continue;

} else if (j < hint_num) {

System.out.println(i);

i++;

j++;

}

continue;

}

break;

}

// System.out.println("Creating....");

j = 0;

for (i = 0; i < hint_num; i++) {

String str = new String(hint_num_temp[i]);

int str_num = str.length() / hint_width + 1;

hintStr = new String[num][str_num];

for (int z = 0; z < str_num; z++) {

if (z < str_num - 1) {

hintStr[j][z] = "";

hintStr[j][z] += str.substring(z * hint_width, (z + 1)

* hint_width);

} else {

hintStr[j][z] = "";

hintStr[j][z] += str.substring((z - 1) * hint_width);

}

System.out.println("hintStr[" + j + "][" + z + "]:"

+ hintStr[j][z]);

}

j++;

}

} catch (IOException e) {

System.out.println("Error");

}

return true;

}

[/code]

[总结]

程序要求很简单,一定有更好的办法来实现,结果参阅了大量资料,一无所获.

责任编辑:admin
相关文章