如果找到,则在[java]上返回一个选项卡

时间:2009-12-28 13:05:39

标签: java arrays

我已经为我的游戏成功创建了一个物品扫描仪。

这是我的代码:

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() + "!");
                        }

1 个答案:

答案 0 :(得分:1)

您可以使用数组访问器对它们进行寻址来访问数组中的元素。

如果示例代码中的load的String值为6570<TAB>24,则数组元素将具有以下值

delimiter[0] = '6570'
delimiter[1] = '24'

要获得值'24',请使用分隔符[1]。例如

System.out.println("The value is " + delimiter[1]);

将打印

  

值为24