gpt4 book ai didi

java - 在不使用接口(interface)的情况下对自定义对象的数组列表进行排序

转载 作者:行者123 更新时间:2023-11-30 11:38:02 25 4
gpt4 key购买 nike

抱歉,这可能是重复的,我不确定我之前尝试发布它是否成功。

几周前开始学习 Java,完成我的第一份作业。 :)

我的问题有些基础,但在浏览了之前已解决的主题后,我找不到完全对应的问题。这不是现实生活中的问题,所以我想我应该以非常具体的方式解决它。

所以这项任务包括几个步骤 - 我必须创建一个包含许多自定义对象的父类(super class)、添加新的子类、实现新方法来计算某些变量的值、编写测试类并对我的输出进行排序。

除了这最后一步,其他都已完成。不确定我是否被允许在网络上发布我的问题,但这是我现在的位置:

我有这样的东西:

public class Pants
{
public enum SizeType {SMALL, MEDIUM, LARGE, EXTRA_LARGE}
private SizeType size;
private String brand;
private String countryOfOrigin;
private String color;
private double price;

//Other variables and methods

}

public class Jeans extends Pants
{
//new variables and methods
}


public class Shorts extends Pants
{
//some more new variables and methods
}

和其他类似的子类。

import java.util.ArrayList;
public class Selection
{
public static void main(String[] args){

Jeans ex1 = new Jeans("John Lewis");
ex1.countryOfOrigin("US");
ex1.color("Navy");
ex1.setSize(Pants.SizeType.LARGE);
ex1.setprice(40);
ex1.machineWashable(true);
System.out.println(ex1);

Shorts ex2 = new Shorts("Ted Baker");
ex2.countryOfOrigin("United Kingdom");
ex2.color("White");
ex2.setSize(Pants.SizeType.MEDIUM);
ex2.setprice(30);
ex2.machineWashable(true);
System.out.println(ex2);
//..etc

ArrayList<Pants> selection = new ArrayList<Pants>();
selection.add(ex1);
selection.add(ex2);
selection.add(ex3);
selection.add(ex4);
selection.add(ex5);

System.out.println( "Size - LARGE: " );
System.out.println();
Pants.SizeType size;
size = Pants.SizeType.LARGE;
ListPants(selection,size);

我需要编写一个 ListPants 方法来根据 SizeType 列出对象 - 在这种情况下从大开始。我不认为我可以实现任何额外的接口(interface)(这是其他线程中最推荐的接口(interface))。

请在下面查看我的尝试(没有成功)。我的思考方向是否正确?

public static void ListPants(ArrayList<Pants> selection, Pants.SizeType size)
{
for (Pants.SizeType sizeType : Pants.SizeType.values()) {
for (Pants pants : selection) {
if (pants.getSize().equals(sizeType)) {
System.out.println(selection.toString());

最佳答案

我认为这只是您面临的一个小问题。您已经定义了打印出所有特定尺寸裤子的方法的签名:

ListPants(ArrayList<Pants> selection, Pants.SizeType size)

没错。现在,您的代码将遍历所有裤子和所有可能的尺码:

public static void ListPants(ArrayList<Pants> selection, Pants.SizeType size)
{
for (Pants.SizeType sizeType : Pants.SizeType.values()) {
for (Pants pants : selection) {
if (pants.getSize().equals(sizeType)) {
System.out.println(selection.toString());

因为这看起来像是家庭作业,所以我将我的答案表述为一个问题:

ListPants 的方法体中,您在哪里使用了 size 参数?

关于java - 在不使用接口(interface)的情况下对自定义对象的数组列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13783142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com