【问题标题】:Saving Arrays in Vector and get it out again将数组保存在 Vector 中并再次取出
【发布时间】:2015-11-12 11:24:20
【问题描述】:

我有以下情况,很抱歉我不能在这里粘贴我的代码。

我的问题是:

我有 3 个类 SAVE、TRY、Main

在我做的尝试类中:

我有一个方法叫tryyourself

在这种方法中,我通过扫描仪配置 6 个数字并将其安全地放入一个数组中。

我主要从类尝试创建一个对象并使用tryyourself方法

t.自己试试

在我这样做之后,我想将整个数组保存在一个列表中,这个列表是在 SAVE 类中创建的。

我使用向量作为列表。

我使用 nameoflist.add(t) 当我想把它送出去的时候,它总是会像 t@151aj1 一样得到 t@151aj1

所以我知道我的描述很模糊,今晚我将添加代码,但你能告诉我如何从向量中获取完整的数组吗?我可以在控制台上显示完整的数组吗?

编辑:

这是我的代码:

public class Main{

public static void main (String[] args) {
Try t = new Try();
Save s= new Save();

t.tryyourself();

s.saving(t);
s.showing();
}
}

课堂尝试:

public void tryyourself(){
    int a;
    int[] tries = new int[6];
    Random rnd = new Random();

    for(int i=0;i<=5;i++){
    a = rnd.nextInt(49)+ 1;
    tries[i]= a;
    }

    for(int i=0;i<=5;i++){
        System.out.print(tries[i] + "\t"  );
    }
    System.out.println();


}

类:保存:

公共类保存{

List<Try> saver = new Vector<Try>();

public void saving(try t){
    saver.addAll(Arrays.asList(t.getArray()));
    System.out.println(saver.get(0));
}

我确实在保存数组时遇到了问题,我也遇到了再次将其恢复的问题。我不知道如何解决我的问题。到目前为止,我还没有完全理解你所有的答案,可能是因为我的英语能力有限。

【问题讨论】:

  • 我们不是读心术的人。
  • 永远不要试图用文字来描述复杂的算法。您的代码会更好地说明它。只需在此处发布并写下您想要的外观\工作方式。

标签: java arrays list vector arraylist


【解决方案1】:

根据您的描述,您正在尝试将对象 't' 添加到向量 'nameoflist' .请注意,对象 't' 不是数组。它是 TRY 类的对象。

t.tryyourself 方法将返回一个数组,然后您应该将其添加到 nameoflist

也许你应该做这样的事情

arr = t.tryyourself
nameoflist.add(arr)

看看这是否会给你正在寻找的正确结果。很抱歉,这是我能从你的问题中得出的最好的答案。一切顺利。

【讨论】:

    【解决方案2】:

    您打印对象 TRY 但不是数组。 您可以在类 TRY 中覆盖方法 toString(),例如:

    public String toString(){
        return Arrays.toString(array);
    }
    

    【讨论】:

      【解决方案3】:

      如果我理解你,那么你的问题出在这行代码上:

      nameoflist.add(t.getArray()) // getArray() is a covenience method to obtain the array.
      

      在那里,您所做的是将整个数组作为元素添加到向量中,这样,当您尝试读取其内容时,您应该遍历数组。 但我猜你想要做的是将整个数组添加到数字向量中,而不是数组向量中。如果是这种情况,请尝试以下代码:

      nameoflist.addAll(Arrays.asList(t.getArray()));
      

      您所要做的就是从“t”对象中获取数组,然后将其添加到向量中。然后您可以迭代向量并获取数字,而不是数组。

      希望对您有所帮助。 ;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-20
        • 1970-01-01
        • 1970-01-01
        • 2012-11-02
        • 2018-08-27
        • 2021-01-02
        相关资源
        最近更新 更多