需要有关如何将宠物对象放入数组的帮助?

时间:2015-04-27 20:09:27

标签: java arrays

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

public class SmallPet
{
  private String name, ans;
  private int age; 
  private double weight;

  ArrayList<Pet>petList = new ArrayList<Pet>(1);
  Scanner keyboard = new Scanner(System.in);
  public void newPet()
  {
    do
    {

      System.out.println("Enter the Name of the Pet:");
      name = keyboard.nextLine();

      Boolean validAge=true;
      do
      {
        System.out.println("Enter the Age of the Pet:");
        age = keyboard.nextInt();
        keyboard.nextLine();

        if (age==(int)age)
        {
          System.out.println("Invalid, please enter a correct age.");
          validAge = false;
        }
        else if (age<=0)
        {
          System.out.println("Invalid, please enter a correct age.");
          validAge = false;
        }
      }while(!validAge);

      Boolean validWeight=true;
      do
      {
        System.out.println("Enter the Weight of the Pet:");
        weight = keyboard.nextDouble();
        keyboard.nextLine();

        if (weight==(int)weight)
        {
          System.out.println("Invalid, please enter a correct weight.");
          validWeight = false;
        }
        else if (weight<=0)
        {
          System.out.println("Invalid, please enter a correct weight.");
          validWeight = false;
        }
      }while(!validWeight);
      System.out.println("Again? Yes or No?");
      ans = keyboard.next();
    } while (ans.equalsIgnoreCase("yes"));


    typeToArray()
    {
  }
}

我似乎没有得到如何将这些宠物对象添加到数组中,然后按重量从最低到最大的顺序对它们进行排序。这是我面临的问题。

按宠物重量而不是按名称排序。在屏幕上显示已排序的数据后,记下5磅以下宠物的数量和百分比,5至10磅宠物的数量和百分比,以及超过10磅的宠物数量和百分比。

1 个答案:

答案 0 :(得分:2)

要向ArrayList添加内容,请使用.add()功能。

要按重量排序,您需要覆盖默认的compare()功能。然后,调用Collections.sort()并将您的ArrayList作为参数放入sort函数中。请注意,您的Pet课程应实施Comparable