我已经为我的游戏成功创建了一个物品扫描仪。
这是我的代码:
import java.io.*;
import java.util.*;
public class ItemScanner {
public static void main(String args[]) {
System.out.print("Enter item to find: ");
Scanner sc = new Scanner(System.in);
find(sc.nextLine());
}
public static void find(String delim) {
File dir = new File("accounts");
if (dir.exists()) {
String read;
try {
File files[] = dir.listFiles();
for (int i = 0; i < files.length; i++) {
File loaded = files[i];
if (loaded.getName().endsWith(".txt")) {
BufferedReader in = new BufferedReader(new FileReader(loaded));
StringBuffer load = new StringBuffer();
while ((read = in.readLine()) != null) {
load.append(read + "\n");
}
String delimiter[] = new String(load).split(delim);
if(delimiter.length > 1) {
System.out.println("Found " + (I don't know how to read 1 tab over - 1) + " time(s) in " + loaded.getName() + "!");
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.out.println("error: dir wasn't found!");
}
}
}
当我找到玩家有多少这个项目时,我正在迈出让生活更轻松的最后一步。
这是场景:
搜索项目:6570
在Account.txt中找到[x]个时间!
这是项目布局的方式
account-item = 6570 1
它是这样的:6570是项目,然后[tab],1等于用户拥有的项目的数量。
所以,如果它说
account-item = 6570 24
用户有24个项目。
问题:
我根本不知道如何从1个标签上返回项目的值。
因此,如果我搜索6570,如果找到了,我将如何获得项目的数量?这是我返回项目的代码
String delimiter[] = new String(load).split(delim);
if(delimiter.length > 1) {
System.out.println("Found " + (I don't know - 1) + " time(s) in " + loaded.getName() + "!");
}
答案 0 :(得分:1)
您可以使用数组访问器对它们进行寻址来访问数组中的元素。
如果示例代码中的load的String值为6570<TAB>24
,则数组元素将具有以下值
delimiter[0] = '6570'
delimiter[1] = '24'
要获得值'24',请使用分隔符[1]。例如
System.out.println("The value is " + delimiter[1]);
将打印
值为24