A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

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;
    }
}

2 个回复

倒序浏览
主函数是固定格式
public  static void main(String args[])
{
}

这个是固定格式不能变
你把静态里的集合去掉
回复 使用道具 举报
夏:默秋凉 发表于 2016-8-10 23:11
主函数是固定格式
public  static void main(String args[])
{

恩恩  那里是上传的时候弄错了,,,是别的地方出错了 。我已经找到错误解决了  谢咯
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马