从数组中识别项目?

时间:2014-02-02 22:03:08

标签: java arrays

我有3个阵列,并行工作。我需要让用户能够识别数组中的项目,删除它及其信息,或编辑其信息。

这是我到目前为止所做的:

private static int identifyComputer(String[] computerBrand, double[] computerSpeed, double[] computerPrice) {
    Scanner keyboard = new Scanner(System.in);
    int counter = computerBrand.length;
    System.out.println("Computer brand?");
    String cb = keyboard.nextLine();
    int i = 0;
    boolean notFound = true;
    for (i = 0; i < counter && notFound; i++)
    {
        if (cb.equals(computerBrand[i])) 
        {
            System.out.println(computerBrand[i]);
            System.out.println(computerSpeed[i]);
            System.out.println(computerPrice[i]);
            notFound = false;
     }


    if (notFound) {
        return -1;
    } 

    else  
    {
        System.out.println("Computer Speed?");
        String cs = keyboard.nextLine();

        boolean notFound2 = true;
        for (i = 0; i < counter && notFound2; i++)
        {
            if (cs.equals(computerSpeed[i])) 
         {
                System.out.println(computerBrand[i]);
                System.out.println(computerSpeed[i]);
                System.out.println(computerPrice[i]);
                notFound2 = false;
            }
        }
        if (notFound) {
            return -1;

        } else {
            System.out.println("Computer Price?");
            String cp = keyboard.nextLine();

            boolean notFound3 = true;
            for (i = 0; i < counter && notFound3; i++)
            {
                if (cp.equals(computerPrice[i])) 
            {
                    System.out.println(computerBrand[i]);
                    System.out.println(computerSpeed[i]);
                    System.out.println(computerPrice[i]);
                    notFound3 = false;
                }
            }

            if (notFound) {
                return -1;
        }
      }
    }
  }       
    return i;
}

但我知道你不是这样做的100%。它在for循环中有一些错误,但它无法正常工作。我试图让用户能够识别计算机并返回该计算机的索引。但我也不确定。 (我不能使用ARRAYLISTS)

1 个答案:

答案 0 :(得分:2)

将信息并行存储在三个数组中令人困惑。我强烈建议您使用所有信息创建一种新类型的对象,并创建该对象的单个数组:

class Computer {
    String brand;
    int speed;
    double price;
}

接下来,创建一个Computer个对象数组,并通过该数组操作类Computer中的变量。你的代码写起来会容易得多。