zoukankan      html  css  js  c++  java
  • 平时作业七 Java

    以下是几本计算机书籍的基本信息
    编号 书名 价格 出版社
    1 JAVA基础 32 清华大学出版社
    2 JAVA WEB开发 40 电子工业出版社
    3 面向对象程序设计 28 清华大学出版社
    4 Struts开发 30 人民邮电出版社
    5 C语言基础 18 机械工业出版社
    6 JAVA基础 32 电子工业出版社
    请编写JAVA代码,按书名进行升序排序,如书名相同按价格升序排序,如书名与价格都相同则按出版社升序排列,并将排序后的书籍信息(包括编号,书名,价格,出版社)输出到屏幕。

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

    Test

    import com.tiger.practice.Homework7.BookInfo;  改成自己对应的。
     1 package com.tiger.practice;
     2 import java.util.Arrays;
     3 import com.tiger.practice.Homework7.BookInfo;
     4 
     5 
     6 public class Text5 {
     7 
     8     public static void main(String args[])
     9     {
    10         
    11         Homework7 sortbook=new Homework7();
    12         BookInfo [] bookInfo;
    13         bookInfo=new BookInfo[6];
    14         
    15 
    16         bookInfo[0]=sortbook.new BookInfo();
    17         bookInfo[1]=sortbook.new BookInfo();
    18         bookInfo[2]=sortbook.new BookInfo();
    19         bookInfo[3]=sortbook.new BookInfo();
    20         bookInfo[4]=sortbook.new BookInfo();
    21         bookInfo[5]=sortbook.new BookInfo();
    22         
    23         bookInfo[0].setBook("JAVA基础","清华大学出版社 ",32,1);
    24         bookInfo[1].setBook("JAVAWEB开发","电子工业出版社 ",40,2);
    25         bookInfo[2].setBook("面向对象程序设计","清华大学出版社 ",28,3);
    26         bookInfo[3].setBook("Struts开发","人民邮电出版社",30,4);
    27         bookInfo[4].setBook("C语言基础","机械工业出版社 ",18,5);
    28         bookInfo[5].setBook("JAVA基础","电子工业出版社",32,6);
    29 
    30         Arrays.sort(bookInfo,sortbook.new BookComparator());
    31         
    32         for(int i=0;i<bookInfo.length;i++) {
    33             bookInfo[i].show();
    34         }
    35 
    36     }
    37 
    38 }
  • 相关阅读:
    leetcode 347. Top K Frequent Elements
    581. Shortest Unsorted Continuous Subarray
    leetcode 3. Longest Substring Without Repeating Characters
    leetcode 217. Contains Duplicate、219. Contains Duplicate II、220. Contains Duplicate、287. Find the Duplicate Number 、442. Find All Duplicates in an Array 、448. Find All Numbers Disappeared in an Array
    leetcode 461. Hamming Distance
    leetcode 19. Remove Nth Node From End of List
    leetcode 100. Same Tree、101. Symmetric Tree
    leetcode 171. Excel Sheet Column Number
    leetcode 242. Valid Anagram
    leetcode 326. Power of Three
  • 原文地址:https://www.cnblogs.com/CheeseIce/p/10768710.html
Copyright © 2011-2022 走看看