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

 package com.tiger.practice;
import java.util.Comparator; public class Homework7 { public class BookInfo{ private String bookname;
private String press;
private int price;
private int num; public BookInfo()
{} public BookInfo(String bookname, String press, int price,int num)
{
this.bookname = bookname;
this.press = press;
this.price = price;
this.num=num; } public String getBookname() {
return bookname;
} public String getPress() {
return press;
} public int getPrice() {
return price;
} public int getNum() {
return num;
}
//获取各个字段的值 public void setBook(String bookname, String press, int price,int num) { this.bookname = bookname;
this.press = press;
this.price = price;
this.num=num; }
//重置各个字段的值 public void show()
{
System.out.println(this.getBookname()+" "+this.getPrice()+" "+this.getPress()+" "+this.getNum());
}
} public class BookComparator implements Comparator<BookInfo>{
public int compare(BookInfo o1, BookInfo o2) {
//当然可以用其他成员变量来作为衡量比较的标准 int x =o1.getBookname().compareTo(o2.getBookname());
int y = o1.getPrice() - o2.getPrice();
int z = (o1.getPress().compareTo(o2.getPress())); if (x != ) {
return x > ? :-;
}
if (y != ) {
return y > ? :-;
}
if(z!=) {
return z > ? -:;
}
return o1.bookname.compareTo(o2.bookname);
}
} }

Test

import com.tiger.practice.Homework7.BookInfo;  改成自己对应的。
 package com.tiger.practice;
import java.util.Arrays;
import com.tiger.practice.Homework7.BookInfo; public class Text5 { public static void main(String args[])
{ Homework7 sortbook=new Homework7();
BookInfo [] bookInfo;
bookInfo=new BookInfo[]; bookInfo[]=sortbook.new BookInfo();
bookInfo[]=sortbook.new BookInfo();
bookInfo[]=sortbook.new BookInfo();
bookInfo[]=sortbook.new BookInfo();
bookInfo[]=sortbook.new BookInfo();
bookInfo[]=sortbook.new BookInfo(); bookInfo[].setBook("JAVA基础","清华大学出版社 ",,);
bookInfo[].setBook("JAVAWEB开发","电子工业出版社 ",,);
bookInfo[].setBook("面向对象程序设计","清华大学出版社 ",,);
bookInfo[].setBook("Struts开发","人民邮电出版社",,);
bookInfo[].setBook("C语言基础","机械工业出版社 ",,);
bookInfo[].setBook("JAVA基础","电子工业出版社",,); Arrays.sort(bookInfo,sortbook.new BookComparator()); for(int i=;i<bookInfo.length;i++) {
bookInfo[i].show();
} } }

平时作业七 Java的更多相关文章

  1. Java 平时作业七

    以下是几本计算机书籍的基本信息 编号  书名         价格      出版社 1  JAVA 基础   32   清华大学出版社 2  JAVA WEB 开发  40   电子工业出版社 3  ...

  2. 平时作业六 java

    编写一个Java应用程序,使用Java的输入输出流技术将Input.txt的内容(Input.txt为文本文件)逐行读出,每读出一行就顺序为其添加行号(从1开始,逐行递增),并写入到另一个文本文件Ou ...

  3. 平时作业五 Java

    使用I/O流和文件对象实现目录备份功能.用户指定源目录.目标目录以及备份文件类型(如果是任意文件使用通配符*号),通过此程序可将源目录及其所有子目录下的指定类型文件保存到目标目录. package c ...

  4. 作业七:Linux内核如何装载和启动一个可执行程序

    作业七:Linux内核如何装载和启动一个可执行程序 一.编译链接的过程和ELF可执行文件格式 可执行文件的创建——预处理.编译和链接 在object文件中有三种主要的类型. 一个可重定位(reloca ...

  5. Java 平时作业四

    编写一个Java程序实现返回指定目录及其子目录下扩展名为*.pdf的所有文件名. 扩展: isFile public boolean isFile() 测试此抽象路径名表示的文件是否为普通文件. 如果 ...

  6. Java 平时作业六

    编写一个 Java 应用程序,使用 Java 的输入输出流技术将 Input.txt 的内容(Input.txt 为文本 文件)逐行读出, 每读出一行就顺序为其添加行号(从 1 开始,逐行递增),并写 ...

  7. Java 平时作业五

    使用 I/O 流和文件对象实现目录备份功能. package asg5; import java.io.File; import java.io.FileInputStream; import jav ...

  8. Java 平时作业三

    自定义一个可以存储 int 类型的集合类(例如:SequenceList),封装一维数组存储数据,该 集合类具有以下方法: (1)新增元素: (2)在指定位置插入一个元素: (3)按位置删除元素: ( ...

  9. JAVA 平时作业二

    编写一个 Java 应用程序,统计数组{1,3,4,7,2,1,1,5,2,5,7,2,1,1,3},统 计显示每种数字其出现的次数以及出现最多和最少次数的数字 public class Number ...

随机推荐

  1. XSS绕过小结

    0x00前言 我们友情进行XSS检查,偶然跳出个小弹窗,其中我们总结了一些平时可能用到的XSS插入方式,方便我们以后进行快速检查,也提供了一定的思路,其中XSS有反射.存储.DOM这三类,至于具体每个 ...

  2. 13、Ajax的使用

    一.AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术. a).AJAX = 异步 JavaScript 和 XML. b).AJAX 是一种用于创建快速动态网页的技术. 通过在后 ...

  3. 微信小程序开发——点击按钮退出小程序的实现

    微信小程序官方是没有提供退出的API的,但是在navigator这个组件中,是有退出这个功能的:详情参考官方文档:navigator.示例代码:1 navigator open-type=" ...

  4. 虚拟机14安装kail Linux

    需要准备虚拟机和kail Linux镜像 1. 2.选择镜像安装,并且添加你的kail Linux镜像文件. 3. 4.在这里需要修改虚拟机名称,也可以不修改就用默认,然后在修改kail Linux的 ...

  5. 清北学堂学习总结day2

    今天是钟皓曦大佬讲课,先来膜一波   %%%%% •数论 数论是这次培训的一个重点,那么什么是数论呢? 数论是研究整数性质的东西,所以理论上day2不会涉及小数QwQ (切入正题) •整除性: 设a, ...

  6. 编写ROS程序--HelloROS

    <机器人操作系统浅析>ch3学习记录 A Gentle Introduction to ROS 3.1 创建工作区(工作空间)和功能包 创建工作空间 ~/ros 我们称之为工作区目录 在工 ...

  7. jQuery新版本没有了Toggle事件,两个按钮分别控制隐藏显示,同时这两个按钮点击也要互斥。

    十二月没来得及整理发布,一直在草稿箱.现在已经2019年1月了... 需求大概是这样的 //XX点击事件 var flagBar = 0; $("#doNotBaseRate"). ...

  8. 题解-BJOI2019 光线

    Problem loj3093 & x谷 题意概要:给定 \(n\) 块玻璃,每块玻璃有其折射比例与反射比例(折射比例+反射比例 不一定为 \(100\%\)),求从最上头打下一束光,有多少比 ...

  9. ELK全Dokcer 部署

    环境准备: docker-complete 解压 su root 进入目录 rpm -Uvh *.rpm 安装docker systemctl start docker systemctl enabl ...

  10. 【easy】784. Letter Case Permutation

    Examples: Input: S = "a1b2" Output: ["a1b2", "a1B2", "A1b2", ...