• Java 平时作业七


    以下是几本计算机书籍的基本信息

    编号  书名         价格      出版社

    1  JAVA 基础   32   清华大学出版社

    2  JAVA WEB 开发  40   电子工业出版社

    3  面向对象程序设计 28   清华大学出版社

    4  Struts 开发   30   人民邮电出版社

    5  C 语言基础   18   机械工业出版社

    6       JAVA 基础            32          电子工业出版社

    请编写 JAVA 代码,按书名进行升序排序,如书名相同按价格升序排序,如书名与价格都相 同则按出版社升序排列,并将排序后的书籍信息(包括编号,书名,价格,出版社)输出到 屏幕。 

    sortbook

     1 package asg7;
     2 
     3 
     4 import java.util.Comparator;
     5 
     6 
     7 public class SortBook {
     8 
     9     public class BookInfo{
    10         
    11         private String bookname;
    12         private String press;
    13         private int price;
    14         private int num;
    15         
    16         public BookInfo()
    17         {}
    18         
    19         public BookInfo(String bookname, String press, int price,int num)
    20         {
    21             this.bookname = bookname;
    22             this.press = press;
    23             this.price = price;
    24             this.num=num;
    25     
    26         }
    27         
    28         public String getBookname() {
    29             return bookname;
    30         }
    31     
    32         public String getPress() {
    33             return press;
    34         }
    35     
    36         public int getPrice() {
    37             return price;
    38         }
    39         
    40         public int getNum() {
    41             return num;
    42         }
    43         //获取各个字段的值
    44     
    45     
    46         public void setBook(String bookname, String press, int price,int num) {
    47     
    48             this.bookname = bookname;
    49             this.press = press;
    50             this.price = price;
    51             this.num=num;
    52     
    53         }
    54         //重置各个字段的值
    55         
    56         public void show()
    57         {
    58             System.out.println(this.getBookname()+" "+this.getPrice()+" "+this.getPress()+" "+this.getNum());
    59         }
    60         
    61         
    62       
    63         
    64 
    65             }
    66         
    67     public class BookComparator implements Comparator<BookInfo>{  
    68         public int compare(BookInfo o1, BookInfo o2) {  
    69             //当然可以用其他成员变量来作为衡量比较的标准 
    70 
    71 
    72             int x =o1.getBookname().compareTo(o2.getBookname());
    73             int y = o1.getPrice() - o2.getPrice();
    74             int z = (o1.getPress().compareTo(o2.getPress()));
    75             
    76             if (x != 0) {
    77                 return x > 0 ? 1:-1;
    78                 }
    79             if (y != 0) {
    80                 return y > 0 ? 1:-1;
    81                 }
    82             if(z!=0) {    
    83                 return z > 0 ? -1:1;
    84                 }
    85             return  o1.bookname.compareTo(o2.bookname);
    86             
    87         }  
    88     }
    89     
    90  }
    91     

    test

     1 package asg7;
     2 
     3 import java.util.Arrays;
     4 
     5 import asg7.SortBook.BookInfo;
     6 
     7 public class Test {
     8     
     9     public static void main(String args[])
    10     {
    11         
    12         SortBook sortbook=new SortBook();
    13         BookInfo [] bookInfo;
    14         bookInfo=new BookInfo[6];
    15         
    16         
    17         
    18         bookInfo[0]=sortbook.new BookInfo();
    19         bookInfo[1]=sortbook.new BookInfo();
    20         bookInfo[2]=sortbook.new BookInfo();
    21         bookInfo[3]=sortbook.new BookInfo();
    22         bookInfo[4]=sortbook.new BookInfo();
    23         bookInfo[5]=sortbook.new BookInfo();
    24         
    25         bookInfo[0].setBook("JAVA基础","清华大学出版社 ",32,1);
    26         bookInfo[1].setBook("JAVAWEB开发","电子工业出版社 ",40,2);
    27         bookInfo[2].setBook("面向对象程序设计","清华大学出版社 ",28,3);
    28         bookInfo[3].setBook("Struts开发","人民邮电出版社",30,4);
    29         bookInfo[4].setBook("C语言基础","机械工业出版社 ",18,5);
    30         bookInfo[5].setBook("JAVA基础","电子工业出版社",32,6);
    31 
    32     
    33         Arrays.sort(bookInfo,sortbook.new BookComparator());
    34         
    35         for(int i=0;i<bookInfo.length;i++) {
    36             bookInfo[i].show();
    37         }
    38 
    39 
    40     }
    41     
    42 }
  • 相关阅读:
    根据NSString字符串长度自动改变UILabel的frame
    计算两个日期的天数问题
    iOS学习笔记(02)
    iOS学习笔记(01)
    iOS使用Swift语言检查并提示更新
    iOS的一些关键字
    一些常见warning的原因和解决方法
    Objective-C和Swift实现单例的几种方式
    与导航栏下控件的frame相关的edgesForExtendedLayout、translucent、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets等几个属性的详解
    App常见崩溃问题分析
  • 原文地址:https://www.cnblogs.com/BigWatermelon/p/10679956.html
Copyright © 2020-2023  润新知