我试图从linkedlist的数组中提取一个linkedlist,但是被卡住了。在提取这个链表之后,我需要对每个链表中每个篮子中的水果数量求和。例如,篮子0返回174,篮子1返回147,依此类推。
我已经尝试使用迭代器和listIterator (以及)来提取水果的数量,但我没有得到任何结果。有人能帮上忙吗?一些指针/提示,这样我就可以重新开始编码。
public class ArrayLinkedList {
final static int NUM_OF_ROWS = 32767;
public static void main(String [] args) {
List[] basket = new List [NUM_OF_ROWS];
for (int i = 0; i < NUM_OF_ROWS; i++) {
basket[i] = new LinkedList();
}
basket[0].add("1,APPLE,12");
basket[1].add("2,APPLE,14");
basket[1].add("3,APPLE,9");
basket[2].add("4,APPLE,90");
basket[2].add("5,APPLE,13");
basket[0].add("1,ORANGE,45");
basket[0].add("2,ORANGE,19");
basket[1].add("3,ORANGE,67");
basket[1].add("4,ORANGE,33");
basket[0].add("1,BANANA,2");
basket[0].add("2,BANANA,96");
basket[1].add("3,BANANA,16");
basket[1].add("4,BANANA,8");
basket[2].add("5,BANANA,14");
basket[2].add("6,BANANA,26");
basket[3].add("7,BANANA,8");
basket[3].add("8,BANANA,5");
for (int i = 0; i < 5; i++) {
System.out.println("Basket " + i + ": " + rows[i].toString());
}
}
}发布于 2011-05-06 19:36:05
您不应该使用字符串来存储多个信息。这将迫使您在每次想要获取信息的一部分时解析字符串。我不知道"1,APPLE,12"代表什么,但你应该使用一个对象而不是这个字符串:
public class Item {
private int something;
private String fruitName;
private int numberOfFruits;
public Item(int something, String fruitName, int numberOfFruits) {
this.something = something;
this.fruitName = fruitName;
this.numberOfFruits = numberOfFruits;
}
public int getSomething() {
return this.something;
}
public String getFruitName() {
return this.fruitName;
}
public int getNumberOfFruits() {
return this.numberOfFruits;
}
}然后,可以像这样构建篮子数组:
List<Item>[] basket = new List<Basket>[NUM_OF_ROWS];
for (int i = 0; i < NUM_OF_ROWS; i++) {
basket[i] = new LinkedList<Item>();
}
basket[0].add(new Item(1, "APPLE", 12));
basket[1].add(new Item(2, "APPLE", 14));
// ...然后,您可以迭代其中一个篮子并轻松计算水果的总数:
int totalNumber = 0;
for (Item item : basket[0]) {
totalNumber += item.getNumberOfFruits();
}发布于 2011-05-06 19:35:43
我假设这是家庭作业。
到目前为止,您要做的是创建一个列表数组,将字符串添加到列表中。
您可以通过.size()方法获取列表中的项数,但您可能希望将输入到字符串中的数字相加。
一种方法是:
for
成功!
发布于 2011-05-06 19:31:39
这个解决方案是行不通的。
我建议从一个篮子类和一个水果枚举开始(不能保证它会被编译--你可以自己解决):
public enum Fruit { APPLE, BANANA, ORANGE; }
public class Basket
{
private Fruit fruit;
private int quantity;
// you add the rest, including equals and hashCode overrides
}创建一个List<Fruit>并从那里开始。
https://stackoverflow.com/questions/5910634
复制相似问题