以下是几本计算机书籍的基本信息
编号 书名 价格 出版社
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. python中的图像数据库PIL

    from PIL import Image im = Image.open("图片路径") im.function() 常用的函数: 1.im.crop(x,y,x1,y1) 对图 ...

  2. java中的标识符、修饰符、关键字

    关键字的特点:1.完全小写的字母,2,在增强版记事本中有特殊颜色 例如@是电子邮箱当中有特殊含义的.被保留的.不能随意使用的字符,关键字. 例如图中public.class.static.void是关 ...

  3. luogu P5303 [GXOI/GZOI2019]逼死强迫症

    传送门 只有两行,考虑递推,设\(f_i\)为没有那两个\(1*1\)的,前\(i\)列的方案,可以发现一次可以放一个竖的或两个横的,也就是\(f_i=f_{i-1}+f_{i-2}\) 再设\(g_ ...

  4. Eclipse使用Git检出项目

    1.打开Eclipse——File——Import...: 2.在弹出的Import框中选择Git——Projects from Git——NEXT: 3.选择Clone URI——Next: 4.输 ...

  5. 获取电脑系统唯一GUID

    软件使用微软系统的唯一ID绑定指定电脑 class Program { static void Main(string[] args) { string sysId = ""; P ...

  6. Lombok插件看法浅谈

    背景 最近接触的几个工程中Lombok插件出现频率比较高,趁机了解一下原理. 简要说明: 受益于JSR 269 API,程序可以在编译阶段对AST进行节点的操作,从而注入相关的功能结点,从而包含在最终 ...

  7. 查询sql 索引

    SELECT indexname = a.name , tablename = c. name , indexcolumns = d .name , a .indidFROM sysindexes a ...

  8. scrollview 嵌套imageview显示长图

    起初使用代码如下:但是图片显示不全,上半截被截 <ScrollView android:layout_width="match_parent" android:layout_ ...

  9. tensorflow--mnist注解

    我自己对mnist官方例程进行了部分注解,希望分享出来有助于入门选手更好理解tensorflow的运行机制,可以拷贝到IDE再调试看看,看看具体数据流向还有一部分tensorflow里面用到的库.我用 ...

  10. eclipse下properties文件中文乱码的解决方案

    今天在工程下编辑.properties文件时输入了中文然后就保存出错,弄了好久才搞定!大家瞄瞄 在中文操作系统下,Eclipse中的Java类型文件的编码的默认设置是GBK,但是对Properties ...