1.自定义类:Product,具有私有属性:name(String类型)和price(double类型);Product类只提供满参构造方法,并且为所有属性提供必要的get/set方法 2.定义一个测试类Test,包含2个静态方法: main方法和ArrayList<Product> getProduct(ArrayList<Product>list,double num1,double num2): 2.1ArrayList<Product> getProduct(ArrayList<Product>list,double num1,double num2)方法内要求完成: (1) 创建ArrayList<Product>集合list2; (2) 查询指定集合list中元素的price属性在num1和num2之间的Product对象,存入list2集合中; (3) 返回list2。 2.2 main方法要求完成如下: (1)ArrayList集合list,存放3个Product对象到list中,3个对象的属性值分别为:"LV", 20000;"李宁",2000; "阿迪王", 200 (2)键盘录入2个整数num1和num2,做为查询商品价格的区间值; (3)调用getProduct方法获取返回值,并打印出返回值内所有元素的属性信值。 //代码如下:运行结果不对,求大神帮我看看哪里出错了,谢谢咯
import java.util.ArrayList;
import java.util.Scanner;
class Product {
private String name;
private double price;
public Product(String name, double price) {
super();
this.name = name;
this.price = price;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
}
public class Text {
public static <product, product1> void main(String[] args) {
Product d1 = new Product("LV", 20000);
Product d2 = new Product("李宁",2000);
Product d3 = new Product("李宁",2000);
ArrayList<Product> list = new ArrayList<>();
list.add(d1);
list.add(d2);
list.add(d3);
Scanner sc = new Scanner(System.in);
System.out.println("请输入第一个数据:");
int num1 = sc.nextInt();
System.out.println("请输入第二个数据:");
int num2 = sc.nextInt();
ArrayList<product1> list2 = (ArrayList<product1>) getProduct(list,num1,num2);
for(int i = 0; i<list2.size(); i++){
System.out.println("名称为:"+list.get(i).getName()+"\t价格为:"+list.get(i).getPrice());
}
}
public static ArrayList<Product> getProduct(ArrayList<Product> list,double num1,double num2){
ArrayList<Product> list2 = new ArrayList<>();
for(int i= 0; i<list.size(); i++){
if((list.get(i).getPrice()>num1) && (list.get(i).getPrice()< num2)){
list2.add(list.get(i));
}
}
return list2;
}
}
|