我有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)
答案 0 :(得分:2)
将信息并行存储在三个数组中令人困惑。我强烈建议您使用所有信息创建一种新类型的对象,并创建该对象的单个数组:
class Computer {
String brand;
int speed;
double price;
}
接下来,创建一个Computer
个对象数组,并通过该数组操作类Computer
中的变量。你的代码写起来会容易得多。