【问题标题】:Sending objects to another class's ArrayList将对象发送到另一个类的 ArrayList
【发布时间】:2015-07-09 02:32:24
【问题描述】:

我有一个课程项目,我必须将信息从驱动程序类发送到持有ArrayList 的类,在将它们分开之前它工作正常,但现在我不知道如何将项目发送到第二类,他们分别是 Driver 和 CardStack:

import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;

public class Driver{

    public static void main( String[] args ){

    CardStack cs = new CardStack(); //what to do with this?

    MathCard m1 = new MathCard(7, "+", 6);
    System.out.println(m1);
    MathCard m2 = new MathCard(18, "*", 2);
    MathCard m3 = new MathCard(112, "-", 94);
    MathCard m4 = new MathCard(2, "/", 2); 

    VocabCard vc1 = new VocabCard("Who was the first President of the United States?", "George Washington.");
    VocabCard vc2 = new VocabCard("What comes after A?", "B.");
    VocabCard vc3 = new VocabCard("What is the tune to the Alphabet Song?", "Twinkle Twinkle Little Star.");
    VocabCard vc4 = new VocabCard("Is Pluto a planet?", "Not any more.");

    cs.add( m1 );
    cs.add( m2 );
    cs.add( m3 );
    cs.add( m4 );
    cs.add( vc1 );
    cs.add( vc2 );
    cs.add( vc3 );
    cs.add( vc4 );

  }

}

还有 CardStack 类:

import java.util.ArrayList;
import java.util.Collections;

public class CardStack{
  private ArrayList< FlashCard > FlashCards;
  public CardStack(){

    ArrayList< FlashCard > FlashCards = new ArrayList< FlashCard >();

    Collections.shuffle(FlashCards);
    for( FlashCard fc : FlashCards ){
        System.out.println("Test1 " + fc);
    }
 }
}

有什么建议吗?

【问题讨论】:

  • 你需要学习如何将参数传递给构造函数或方法。
  • 如果你要在 CardStack 上调用 add(...) 方法,那么类应该有这个方法吧?
  • 你能具体说明你的问题是什么吗?
  • 我尝试将 add(..) 插入 Cardstack 文件的任何方式都给了我一个错误,我现在遇到的错误是错误:找不到符号 cs.add(vc3); ^ 符号:方法 add(VocabCard) 位置:CardStack 类型的变量 cs
  • 我已经告诉过你——你需要在尝试调用 CardStack 之前给它add(...) 方法。请不要忽视我们的 cmets,如果您要这样做,为什么要制造它们?那么类中的add方法在哪里呢?它不存在,所以你必须给它一个,然后在方法中,将参数添加到 ArrayList。

标签: java arraylist add


【解决方案1】:

根据 cmets,解决方案是在 CardStack 类中创建一个 add(...) 方法,在该方法中,将参数添加到 ArrayList。如果我在这个答案中发布了代码(只有 3 行代码),我会欺骗你自己第一次尝试的机会。请查看您的教科书或basic Java tutorial on methodspassing information into methods(请参阅链接)并试一试。您可能会对自己的想法感到惊讶。

在伪代码中:

public void add method that takes a FlashCard parameter
   add the FlashCard parameter to the FlashCards ArrayList
End of method

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-07
    • 2015-07-12
    • 1970-01-01
    • 2015-02-09
    • 2017-12-20
    • 1970-01-01
    相关资源
    最近更新 更多