Java数组-->;字符串,但.equals()不起作用(或者:有更简单的方法吗?)

Java数组-->;字符串,但.equals()不起作用(或者:有更简单的方法吗?),java,arrays,string,equals,Java,Arrays,String,Equals,我正在开发一个程序,它接收一个文件,其中包含一种农产品的名称、其类型(西兰花、蔬菜),然后是另一种农产品的名称及其类型,位于不同的行上。它随机抽取3个项目,并将它们放入“产品箱”数组中。我把它转换成一个用逗号分隔的字符串,然后再转换成一个不同的列表。我查看索引1、3、5中的项目,看看它是水果还是蔬菜,并增加相应的计数 但是计数保持在0,并且没有增加。我可能做错了什么?还是有一个更容易做到的方法 Random random = new Random(); String firstProduceT

我正在开发一个程序,它接收一个文件,其中包含一种农产品的名称、其类型(西兰花、蔬菜),然后是另一种农产品的名称及其类型,位于不同的行上。它随机抽取3个项目,并将它们放入“产品箱”数组中。我把它转换成一个用逗号分隔的字符串,然后再转换成一个不同的列表。我查看索引1、3、5中的项目,看看它是水果还是蔬菜,并增加相应的计数

但是计数保持在0,并且没有增加。我可能做错了什么?还是有一个更容易做到的方法

Random random = new Random();

String firstProduceType = produce[random.nextInt(size)];
String secondProduceType = produce[random.nextInt(size)];
String thirdProduceType = produce[random.nextInt(size)];

BoxOfProduce boxOfProduce = new BoxOfProduce(firstProduceType, secondProduceType, thirdProduceType);

String produceString = firstProduceType + ", " + secondProduceType + ", " + thirdProduceType;
String[] produceStringArray = produceString.split(",");

int fruitCount = 0;
int vegetableCount = 0;

System.out.println(produceStringArray);

if (produceStringArray[1].trim().equals("Fruit")) {
    fruitCount += 1;
}
else if (produceStringArray[1].trim().equals("Vegetable")) {
    vegetableCount += 1;
}

if (produceStringArray[3].trim().equals("Fruit")) {
    fruitCount += 1;
}
else if (produceStringArray[3].trim().equals("Vegetable")) {
    vegetableCount += 1;
}

if (produceStringArray[5].trim().equals("Fruit")){
    fruitCount += 1;
}
else if (produceStringArray[5].trim().equals("Vegetable")) {
    vegetableCount += 1;
}

编辑:firstProduceType、secondProduceType和thirdProduceType完全是随机的,因此它们将是(项目、类型)

尝试将所有内容都小写。如果字符串相等,则等于有效

你也可以使用

String[] produceStringArray = {firstProduceType, ...};
应该更安全

我还认为应该是
product[random.nextInt(size-1)]


由于索引从0开始

是否确实要执行此操作
String produceString=firstProduceType+“,“+secondProduceType+”,“+thirdProduceType;String[]produceStringArray=produceString.split(“,”)。添加逗号,然后将其删除。你为什么不直接把它们放到数组中呢?你还可以发布第一、第二和第三种产品类型的内容吗?