包含考点:

  1. 对象数组的随机赋值
  2. 浮点数的指定位数
  3. 换用思路进行对象数组的某一属性进行排序

现有Book类,定义如下:

private String author;

private String ISBN;//书号

private double price;

public String getAuthor() {return this.author;}

public void setAuthor(String author) {this.author = author;}

public String getISBN() {return this.ISBN;}

public void setISBN(String ISBN) {this.ISBN = ISBN;}

public double getPrice() {return this.price;}

public void setPrice(double price) {this.price = price;}

请用一个数组存放随机产生的10个书籍对象,并显示其中书价最高的书号(要求使用对象数组完成)

package javaPractice;

import java.text.*;
import java.util.*; public class TestBook {
public static void main(String[] argsment) {
Book[] book = new Book[10];
int j=0,k=0;
String[] name1 = {"杨红云","吴军","屈婉玲","李开复","凡尔纳","王小波"};
String[] name2 = {"ISBN 962-215-001-2","ISBN 962-215-001-3","ISBN 962-215-001-4","ISBN 962-215-001-5","ISBN 962-215-001-6","ISBN 962-215-001-8","ISBN 962-215-002-21"};
Random random = new Random();
DecimalFormat df = new DecimalFormat( "0.00");
double[] arr = new double[10];
for(int i=0;i<book.length;i++) {
book[i] = new Book();
}
for(int i=0;i<book.length;i++) {
j = random.nextInt(name1.length);
k = random.nextInt(name2.length);
book[i].setAuthor(name1[j]);
book[i].setISBN(name2[k]);;
book[i].setPrice(random.nextDouble()*200);
arr[i] = book[i].getPrice();
}
for(int i=0;i<book.length;i++) {
System.out.print("author:"+book[i].getAuthor());
System.out.print(" "+book[i].getISBN());
System.out.println(" price:"+df.format(book[i].getPrice()));
}
Arrays.sort(arr);
for(int i=0;i<book.length;i++) {
if(book[i].getPrice() == arr[arr.length-1]) {
System.out.println("书价最高图书的书号为"+book[i].getISBN());
}
}
}
} class Book{
private String author;
private String ISBN;//书号
private double price; public String getAuthor() {return this.author;}
public void setAuthor(String author) {this.author = author;} public String getISBN() {return this.ISBN;}
public void setISBN(String ISBN) {this.ISBN = ISBN;} public double getPrice() {return this.price;}
public void setPrice(double price) {this.price = price;}
}

java数组--对象数组的随机赋值及其他的更多相关文章

  1. java 14-11 对象数组

    有5个学生,请把这个5个学生的信息存储到数组中,并遍历数组,获取得到每一个学生信息. 创建学生类: 学生:Student 成员变量:name,age 构造方法:无参,带参 成员方法:getXxx()/ ...

  2. php删除多重数组对象属性,重新赋值的方法

    php删除多重数组对象属性,重新赋值的方法 实例:sphinx搜索出来的结果,要去掉某个属性值:$cl = new SphinxClient ();$query = $cl->Query ( $ ...

  3. Java类对象数组声明和初始化

    Java是纯面向对象语言.类是其重要构成单位. 然后,在实际编程中,我们会自己定义一些类,如Point <span style="font-size:14px;">pu ...

  4. JS对象 Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的。数组的每一个成员对象都有一个“下标”,用来表示它在数组中的位置,是从零开始的

    Array 数组对象 数组对象是一个对象的集合,里边的对象可以是不同类型的.数组的每一个成员对象都有一个"下标",用来表示它在数组中的位置,是从零开始的 数组定义的方法: 1. 定 ...

  5. Java修炼——对象数组存储表格数据

    数组存基本数据类型,也可以存引用数据类型 对象数组:使用数组存储对象(自定义对象) 先定义Person的三个私有变量,给他取值赋值方法,重写toString方法. package com.bjsxt. ...

  6. javascript数组/对象数组的深浅拷贝问题

    一.问题描述 在项目里的一个报名页面需要勾选两条信息(信息一和信息二),由于信息一和信息二所拥有的数据是一致的,所以后台只返回了一个对象数组,然后在前台设置了两个List数组来接收并加以区分.原型如下 ...

  7. java对象数组的概述和使用

    1 public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public ...

  8. java 数组对象的应用

    public class Student 2 { 3 // 成员变量 4 private String name; 5 private int age; 6 7 // 构造方法 8 public St ...

  9. java基础(6)--数组和方法

    数组 1. 什么是数组? 数组是相同数据类型的元素组成的集合.这些元素按线性顺序排列.所谓线性顺序是指除第一个元素外,每一个元素都有唯一的前驱元素:除最后一个元素外,每一个元素都有唯一的后继元素.(“ ...

  10. Java中JNI的使用详解第五篇:C/C++中操作Java中的数组

    在Java中数组分为两种: 1.基本类型数组 2.对象类型(Object[])的数组(数组中存放的是指向Java对象中的引用) 一个能通用于两种不同类型数组的函数: GetArrayLength(ja ...

随机推荐

  1. SpringBoot - [09] Restful风格接口方法&参数

    GetMapping.PostMapping.DeleteMapping.PutMapping是SpringBoot中常用的HTTP请求映射注解,它们分别对应HTTP协议中的GET.POST.DELE ...

  2. 【由技及道】CI/CD的量子纠缠术:Jenkins与Gitea的自动化交响曲【人工智障AI2077的开发日志】

    摘要:当代码提交触发量子涟漪,当构建流水线穿越时空维度--欢迎来到自动化构建的十一维世界.本文记录一个未来AI如何用Jenkins和Gitea搭建量子纠缠式CI/CD管道,让每次代码提交都成为时空交响 ...

  3. python excel 打开表格:表格名不知道应该怎么打开

    取所有表格名的倒数第一个就是操作的表格 import pandas as pd xl = pd.ExcelFile(xlPath) names = xl.sheet_names df = xl.par ...

  4. 【Logisim】带有初始化功能的寄存器

    属于是拾人牙慧 子电路外观 子电路逻辑 描述: Q端 Counter + MUX : 实现初始化.初始时MUX选择init,待时钟第一个上升沿后,Counter([Data Bit]:1bit,[Ac ...

  5. go 编译约束//go:build dev //+build

    前言 在真实环境中,我们可能需要为不同的编译环境编写不同的 Go 代码,所以需要做构建约束. 比如:syscall.NewLazyDLL("test.dll") 加载 dll 的程 ...

  6. Go配置管理神器—Viper中文教程

    Viper中文教程 Viper是适用于Go应用程序的完整配置解决方案.它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式. 安装 go get github.com/spf13/vip ...

  7. 张高兴的大模型开发实战:(二)使用 LangChain 构建本地知识库应用

    目录 基础概念 什么是 LangChain 什么是 Ollama 环境搭建与配置 安装 Ollama 安装 LangChain 文档加载 加载 JSON 数据 加载文件夹中的文档 文本向量化 实现问答 ...

  8. spring的三级缓存

    spring的三级缓存: Spring 容器的"三级缓存" Spring 容器的整个生命周期中,单例Bean对象是唯一的.即可以使用缓存来加速访问 Spring 源码中使用了大量的 ...

  9. SQL Server 2008语句大全完整版

    --======================== --设置内存选项 --======================== --设置 min server memory 配置项 EXEC sp_co ...

  10. datasnap的监督功能【1】-服务端获取客户端连接信息

    在服务端获取连接的客户端相关info: TDBXClientInfo = recoed IpAddress : String; ClientPort : String; Protocol : Stri ...