Java黑皮书课后题第7章:*7.20(修改选择排序法)在7.11节中,使用了选择排序法对数组排序。改写7.11节程序,重复地在当前数组中找到最大值,然后将这个最大值与该数组中的最后一个数进行交换
7.20(修改选择排序法)在7.11节中,使用了选择排序法对数组排序。改写7.11节程序,重复地在当前数组中找到最大值,然后将这个最大值与该数组中的最后一个数进行交换
- 题目
- 题目描述
- 破题
- 代码
- 运行实例
题目
题目描述
7.20(修改选择排序法)在7.11节中,使用了选择排序法对数组排序。改写7.11节程序,重复地在当前数组中找到最大值,然后将这个最大值与该数组中的最后一个数进行交换
编写一个测试程序,读取10个double型的数字,调用该方法,并显示排好序的数字
破题
- 主方法:声明一个int型对象,赋值为10(作为数组长度)
- 主方法:声明一个double型数组
- 主方法:获取输入的10个double值,并传值给数组
- 主方法:调用自定义选择排序法(方法名:ss),接收返回的double型数组
- 主方法:将刚刚接收到的数组输出
- ss方法:求传入数组的长度
- ss方法:声明一个double型对象,用于存储交换值
- ss方法:采用双层循环进行排序,最内层进行比较大小,并进行值的交换
- ss方法:返回排序好的数组
代码
import java.util.Arrays;
import java.util.Scanner;public class Test7_20 {public static void main(String[] args) {//1. 主方法:声明一个int型对象,赋值为10(作为数组长度)int length = 10;//2. 主方法:声明一个double型数组double[] list = new double[length];//3. 主方法:获取输入的10个double值,并传值给数组Scanner input = new Scanner(System.in);System.out.print("请输入10个double值:");for (int i = 0 ; i < length ; i++){list[i] = input.nextDouble();}//4. 主方法:调用自定义选择排序法(方法名:ss),接收返回的double型数组list = ss(list);//5. 主方法:将刚刚接收到的数组输出System.out.print(Arrays.toString(list));}//ss方法:选择排序的自定义方法public static double[] ss(double[] list){//6. ss方法:求传入数组的长度int length = list.length;//7. ss方法:声明2个对象,用于存储交换值double temp = 0;int temp_index = 0;//8. ss方法:采用双层循环进行排序,最内层进行比较大小,并进行值的交换for (int i = length - 1 ; i > 0 ; i--){//找下标0到i的最大值下标temp_index = max(list, i);//比较list[temp_index]和list[i]的大小,如果大于则交换值if (list[temp_index] > list[i]){temp = list[temp_index];list[temp_index] = list[i];list[i] = temp;}}//9. ss方法:返回排序好的数组return list;}public static int max(double[] list, int i){//找传入的double数组从下标0到下标i的最大值int index = 0;double max = 0;for (int a = 0 ; a < i ; a++){if (max < list[a]){max = list[a];index = a;}}return index;}
}
运行实例
请输入10个double值:10 9 8 7 6 5 4 3 2 1
[1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0]
Java黑皮书课后题第7章:*7.20(修改选择排序法)在7.11节中,使用了选择排序法对数组排序。改写7.11节程序,重复地在当前数组中找到最大值,然后将这个最大值与该数组中的最后一个数进行交换相关推荐
- Java黑皮书课后题第5章:*5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储。编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式,下面是运行示例
5.44(计算机体系结构:比特级的操作)一个short型值用16位比特存储.编写程序,提示用户输入一个short型的整数,然后显示这个整数的16比特形式 题目 题目概述 运行示例 资料与破题 原码反码 ...
- Java黑皮书课后题第3章:*3.17(游戏:剪刀、石头、布)编写可以玩流行的剪刀-石头-布游戏的程序
*3.17(游戏:剪刀.石头.布)编写可以玩流行的剪刀-石头-布游戏的程序 题目 题目概述 运行示例 ***特别注意*** 破题 代码 题目 题目概述 *3.17(游戏:剪刀.石头.布)编写可以玩流行 ...
- Java黑皮书课后题第4章:4.4(几何:六边形面积)六边形面积可以通过下面公式计算(s是边长) 编写程序,提示用户输入六边形的边长,然后显示它的面积
4.4(几何:六边形面积)六边形面积可以通过下面公式计算(s是边长) 编写程序,提示用户输入六边形的边长,然后显示它的面积 题目 题目概述 运行示例 破题 代码 题目 题目概述 4.4(几何:六边形面 ...
- Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置。
Java黑皮书课后题第9章:**9.13(Location类)设计一个名为Location的类,定位二维数组中的最大值及其位置 题目 破题 代码 Test13 Test13_Location 运行结果 ...
- Java黑皮书课后题第10章:**10.25(新的字符串split方法)String类中的split方法会返回一个字符串数组,该数组是由分隔符分隔开的子串构成的
Java黑皮书课后题第10章:**10.25(新的字符串split方法) 题目 代码 运行实例 题目 代码 public class Test25 {public static String[] sp ...
- Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字
Java黑皮书课后题第10章:10.21(被5或6整除)找出能被5或6整除的大于Long.MAX_VALUE的前10个数字 题目 代码 结果 题目 都在上面 代码 import java.math.B ...
- Java黑皮书课后题第10章:*10.13(几何:MyRectangle2D类)定义MyRectangle2D类
Java黑皮书课后题第10章:10.3 题目 程序 代码 Test13.java Test13_MyRectangle2D.java 运行 UML 题目 程序 Test13.java:测试程序 Tes ...
- Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中
Java黑皮书课后题第10章:10.2(BMI类)将下面的新构造方法加入BMI类中 题目 程序说明 题目槽点 代码:Test2_BMI.java 运行实例 题目 程序说明 Test2_BMI.java ...
- Java黑皮书课后题第10章:*10.1(Time类)设计一个名为Time的类。编写一个测试程序,创建两个Time对象(使用new Time()和new Time(555550000))
Java黑皮书课后题第10章:*10.1设计一个名为Time的类.编写一个测试程序,创建两个Time对象 题目 程序 代码 Test1.java Test1_Time.java 运行结果 UML 题目 ...
- Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交。第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4)
Java黑皮书课后题第9章:**9.12(几何:交点)假设两条线段相交.第一条线段的两个端点是(x1, y1)和(x2, y2),第二条线段的两个端点是(x3, y3)和(x4, y4) 题目 破题 ...
最新文章
- vue+file-saver+xlsx导出table为excel
- Qt 编译出错 Could not create directory
- java 容器_我也来聊聊,JAVA容器与迭代器
- JQ css3 导航栏到底部上移
- 怎么更换WIN7欢迎界面的背景图?
- IOCP线程池的开发-(1)
- Gui+jdbc+mysql实现图书管理
- Could not create the view: An unexpected exception was thrown.
- 视频会议专线部署不会?别急,我教你
- oracle 基本dos命令,Oracle 常用 Dos命令
- linux系统镜像怎么安装,linux系统安装,怎样安装linux系统制作方法
- 【推荐】前沿智能视频分析深度学习算法框架-NVIDIA DEEPSTREAM5.0 【原理介绍】
- 计算机维修兴趣小组,计算机兴趣小组章程
- 智能制造与供应链管理趋势
- 华盛顿邮报专访苹果CEO库克:带领苹果是个孤独的工作
- activiti实现请假流程
- PPT文档翻译软件怎么用?如何翻译整篇PPT文档
- linux常用命令整理-02-服务器-系统-内存-磁盘-优化
- python将所有excel文档合并
- 塞尔希奥·阿奎罗和 The Sandbox 携手合作,激活元宇宙足球迷!