2009-12-28 95 views
0

我已成功为我的游戏创建项目扫描程序。如果找到,则返回值为[java]的一个选项卡

这里是我的代码:

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

我就使我的生活更轻松的最后一步是当它涉及到寻找有多少该项目的玩家拥有。

这里的情景:在Account.txt 6570

发现为[X]时间(s):

搜索项目!

这是项目的布局如何

帐户项= 6570 1

它是这样写的:6570是该项目,然后按[标签],1等于多少项目是用户拥有。

所以,如果说

帐户项= 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

注意,使用了'新的String()'这里的构造是完全没有意义的。 – 2009-12-28 13:14:46

回答

1

可以使用数组访问解决这些访问元素数组。

如果负载在您的示例代码的字符串值是6570<TAB>24,你的数组元素将具有以下值

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

要获取的值“24”,可以使用分隔符[1]。例如

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

将打印

值是24

+0

如果该值未知并且只是从角色读取值,该怎么办? – 2009-12-28 13:13:50

+0

当你拆分字符串时,数组中的值被设置。 Java数组从索引0开始,因此第一个值在索引0处,第二个在索引1处,等等。访问元素不依赖于知道元素中的值,只是它的位置。 – 2009-12-28 13:21:08

相关问题