【问题标题】:I need help putting the output of an array into an arraylist and reversing the order我需要帮助将数组的输出放入数组列表并颠倒顺序
【发布时间】:2013-09-11 19:51:52
【问题描述】:

所以我的老师给了我一个问题,我必须将数组的输出和管道(不确定这是否是正确的词)数组值放入数组列表中,然后颠倒顺序。我知道我非常接近,只是错过了一些非常明显的东西。每次我问老师,他只会让我更加困惑。谢谢您的帮助。我不知道没有这个网站我会做什么。我的老师说我们需要有两个单独的班级。 Purse.Java 和 TestPurse.Java。数组在 TestPurse 类中,arraylist 在 Purse 类中。 这是我的 testpurse.java 代码:

 public class Purse   {
    // TODO Auto-generated constructor stub

    /**
      * @param args
    */
    public static void main(String[] args) {
       Purse coin = new Purse();

       coin.addcoin ("Quarter");
       coin.addcoin ("Dime");
       coin.addcoin ("Nickel");
       coin.addcoin ("Dime");
       System.out.println (coin);
    }

    public void addcoin(String string) {
    // TODO Auto-generated method stub
       ArrayList<String> newpurse = new ArrayList<String>();

      Collections.reverse(newpurse);
      System.out.println (newpurse);
    }

}

【问题讨论】:

  • 它不允许我发布此代码:
  • 导入 java.util.ArrayList;导入 java.util.Collections;导入edu.purdue.CNIT325_Lab2_2.*;公共类钱包{
  • 编辑问题而不是在这里评论
  • 我的 purse.java 也有代码,但在发布时它不会让我区分两者。
  • @Prabhaker 我认为它不会让我这样做。我会很快的。

标签: java arrays arraylist


【解决方案1】:

这可能就是你想要的

  public class PurseTest {

         public static void main(String[] args) {
             String[] coin = { "Quarter", "Dime", "Nickel", "Dime" };
             Purse purse = new Purse();
             purse.addAllCoin(coin);

            System.out.println(purse);
         }

   }

   public class Purse {
            ArrayList<String> data;

            public Purse() {
              data = new ArrayList<String>();

            }

           public void addAllCoin(String[] strArr) {

              for (String s : strArr) {
                  data.add(s);
              }

            }

           @Override
           public String toString() {
               Collections.reverse(data);
               return data.toString();
           }

   }

你可以试试这个

【讨论】:

  • 非常感谢您。也感谢@Prabhorakar 的所有意见。没有你们中的任何一个,我都做不到。非常感谢
  • 不好意思看@Prabhaker前面的评论
  • 看看这是不是你,错过了你的评论
  • @user2720864 - 我希望你从为 Derek 做作业中学到的东西,就像他自己做的那样。
  • @DavidWallace 我确实尝试过自己做。我无法通过数组列表。我非常感谢这个社区会花时间帮助像我这样对编程一无所知的人。
【解决方案2】:

嗯,下面是从数组创建 ArrayList 的方法:

Create ArrayList from array

这就是你如何反转 ArrayList 中项目的顺序:

Sort List in reverse order

【讨论】:

  • 如果数组在不同的类中,我如何提取数组的值?我的反向工作正常。
  • 钱包硬币 = new Purse(); coin.addcoin(“季度”); coin.addcoin(“一角钱”); coin.addcoin ("镍"); coin.addcoin(“一角钱”); System.out.println(硬币);在另一个班级:
  • new ArrayList(Arrays.asList(Purse)); Collections.reverse(钱包); System.out.println(钱包);
【解决方案3】:

更新代码

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

class Purse   
{
    ArrayList<String> newPurse= new ArrayList<String>();   

    public void addcoin(String string) 
    {           
       newPurse.add(string);          
    }
    @Override
    public String toString()
    {
        return newPurse.toString();
    }
    public String reverse()
    {
       ArrayList<String> al = new ArrayList<String>(newPurse);//making copy of newPurse so that reversing won't affect on it directly.
       Collections.reverse(al);
       return al.toString();
    }

}
public class TestPurse
{
    public static void main(String[] args) 
    {
       Purse coin = new Purse();    
       coin.addcoin ("Quarter");
       coin.addcoin ("Dime");
       coin.addcoin ("Nickel");
       coin.addcoin ("Dime");

       System.out.println (coin.toString());
       System.out.println (coin.reverse());
    }
}

【讨论】:

  • 这和我原来的很相似,但是老师坚持我们有一个钱包课和一个testpurse课。这就是我所有困惑的来源。
  • 我更改了我的 purse.java 类以反映以下内容,但我没有得到任何输出。 public void addcoin(String string) { // TODO 自动生成的方法存根 //new ArrayList(Arrays.asList(Purse)); ArrayList newPurse= new ArrayList(); Collections.reverse(newPurse); System.out.println (newPurse);
  • @DerekPike 请具体说明您的问题,否则您将无法得到正确答案。做一件事只需复制并粘贴您的老师提出的问题。
  • 对不起。我试图将它包含在原始帖子中,但它也抱怨这一点。实现一个类钱包。一个钱包包含一组硬币。为简单起见,我们将仅将硬币名称存储在 ArrayList 中。 • 提供方法void addCoin(String coinName)。 • 向 Purse 类添加一个 toString 方法,以 Purse[Quarter,Dime,Nickel,Dime] 格式打印钱包中的硬币。 • 编写一个反转方法来反转钱包中硬币的顺序。
  • • 实现一个带有 main 方法的 TestPurse 类。它将使用 toString 方法来测试您的代码。例如,如果用钱包 Purse[Quarter,Dime,Nickel,Dime] 调用 reverse,则将钱包更改为 Purse[Dime,Nickel,Dime,Quarter]。
猜你喜欢
  • 1970-01-01
  • 2017-07-01
  • 2014-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
相关资源
最近更新 更多