第十四周作业:Java集合框架上机练习题
来源:互联网 发布:淘宝免费店招模板 编辑:程序博客网 时间:2024/06/05 17:55
Java集合框架上机练习题
1 编写一个Book类,该类至少有name和price两个属性。该类要实现Comparable接口,在接口的compareTo()方法中规定两个Book类实例的大小关系为二者的price属性的大小关系。在主函数中,选择合适的集合类型存放Book类的若干个对象,然后创建一个新的Book类的对象,并检查该对象与集合中的哪些对象相等。查询结果如下图:
package key;import java.util.ArrayList; import java.util.Iterator; class books implements Comparable{ String name; double price; public books(String name,double price){ this.name=name; this.price=price; } public int compareTo(Object obj) { books book=(books)obj; if(book.price == this.price) return 1; else return 0; } } public class book { public double price;public static void main(String[] args){ ArrayList<books> List=new ArrayList<books>(); books bk1=new books("java基础教程",29); books bk2=new books("C++基础教程",29); books bk3=new books("数据库技术",29); List.add(bk1); List.add(bk2); List.add(bk3); books book0=new books("模式识别",29); System.out.println("新书:《"+book0.name+"》与下列图书:"); Iterator<books> it=List.iterator(); while(it.hasNext()){ //下一个元素是否存在 books book=it.next(); //读取下一个元素 if(book.compareTo(book0)==1) System.out.println("\t"+book.name); } System.out.println("价格相同,具体价格为:"+book0.price); } }
2 编写一个应用程序,用户分别从两个文本框输入学生的姓名和分数,程序按成绩排序将这些学生的姓名和分数显示在一个文本区中。
程序运行效果如图:import java.awt.*;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*; @SuppressWarnings("serial")public class window extends JFrame{ //定义基础模块 JLabel lab1 =new JLabel("姓名:"); TextField text1 = new TextField(8); JLabel lab2=new JLabel("成绩:"); TextField text2 = new TextField(8); JButton button = new JButton("确定"); JTextArea textArea = new JTextArea(50,10); //定义构造函数 window(){ super("学生成绩排序"); Container contentPane=getContentPane(); Box box1=Box.createHorizontalBox(); box1.add(lab1); box1.add(text1); Box box2=Box.createHorizontalBox(); box2.add(lab2); box2.add(text2); Box box3=Box.createHorizontalBox(); box3.add(button); //定义面板 JPanel panel1 =new JPanel(); panel1.add(box1); panel1.add(box2); panel1.add(box3); contentPane.add(panel1,BorderLayout.NORTH); //设置数据展示框 JTextArea textArea =new JTextArea(); contentPane.add(textArea,BorderLayout.CENTER); //点击事件 button.addActionListener(new ActionListener() {@Overridepublic void actionPerformed(ActionEvent e) {// TODO Auto-generated method stubtextArea.append("姓名:"+text1.getText()+" "+"成绩:"+text2.getText()+"\n");} } ); //设置窗口 setBounds(200, 100, 600, 500); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { // TODO Auto-generated method stub @SuppressWarnings("unused")Window win =new window(); } }
阅读全文
0 0
- 第十四周作业:Java集合框架上机练习题
- 第十四周java作业--Java集合框架
- Java集合框架上机练习题
- Java集合框架上机练习题
- Java集合框架上机练习题
- Java集合框架上机练习题
- Java集合框架上机练习题
- Java集合框架上机练习题
- Java集合框架上机练习题
- java集合框架上机练习题
- Java集合框架上机练习题
- Java集合框架上机练习题
- Java集合框架上机练习题
- Java集合框架上机练习题-1
- Java集合框架上机练习题-2
- Java集合框架上机练习题1
- Java集合框架上机练习题2
- JAVA第十四周作业
- Python安装
- 【转】HTTPS浅析与抓包分析
- 北四村的蚁族程序员:面朝西二旗
- 【Scikit-Learn 中文文档】神经网络模型(无监督)- 无监督学习
- C++多态实现之虚函数列表.
- 第十四周作业:Java集合框架上机练习题
- priority_queue用法
- 12月学习计划
- spark shell启动警告 Unable to load native-hadoop library for your platform
- HDU 5438拓扑+bfs或者dfs
- 自己实践
- RNG随机类
- PAT Basic 1028
- MySQL的binlog日志