Java黑皮书课后题第6章:*6.5(对三个数排序)使用下面的方法头编写方法,按升序显示三个数
*6.5(对三个数排序)使用下面的方法头编写方法,按升序显示三个数
- 题目
- 题目概述
- 破题
- 代码:排序
- 运行结果
题目
题目概述
*6.5(对三个数排序)使用下面的方法头编写方法,按升序显示三个数:
public static void displaySortedNumbers(double num1, double num2, double num3)
编写程序,提示用户输入3个数字,调用方法以升序显示它们
破题
第一种方法:Math.max(a, b)
在方法displaySortedNumbers中对三个数字调用Math.max()方法
如Math.max(num1, Math.max(num2, num3))得出最大值并在方法内输出
再比较剩下两个数,分别输出即可
(因为方法头有void,主方法只调用不输出,displaySortedNumbers()方法return;)
第二种方法:借助排序算法
如果num1>num2则调换两个值(仅互换值)
如果num1>num3则调换两个值(仅互换值)
如果num2>num3则调换两个值(仅互换值)
最后依次输出num1 num2 num3即可
但特别注意:两个double型数值由于存在误差,上面的比较大小可以换成:
num1 - num2 > 0.0001
num1 - num3 > 0.0001
num2 - num3 > 0.0001
代码:排序
import java.util.Scanner;public class Test6_5 {public static void main(String[] args) {// 接收用户输入的三个double型数Scanner input = new Scanner(System.in);System.out.print("输入三个数字(double):");double num1 = input.nextDouble(), num2 = input.nextDouble(), num3 = input.nextDouble();// 调用方法displaySortedNumbers()displaySortedNumbers(num1, num2, num3);}public static void displaySortedNumbers(double num1, double num2, double num3){// 排序double temp = 0; // 临时保存变量if (num1 > num2){temp = num1;num1 = num2;num2 = temp;}if (num1 > num3){temp = num1;num1 = num3;num3 = temp;}if (num2 > num3){temp = num2;num2 = num3;num3 = temp;}// 输出System.out.print(num1 + " " + num2 + " " + num3);return;}
}
运行结果
输入三个数字(double):3 1 2
1.0 2.0 3.0
Process finished with exit code 0
Java黑皮书课后题第6章:*6.5(对三个数排序)使用下面的方法头编写方法,按升序显示三个数相关推荐
- Java黑皮书课后题第1章:1.13(代数:求解2*2线性方程组)编写程序,求解以下方程组并显示x和y的值 3.4x+50.2y=44.5 2.1x+0.55y=5.9
Java黑皮书课后题第1章:(代数:求解2*2线性方程组) 题目 题目描述 破题 代码块 方法评析 赘述 修改日志 题目 题目描述 求x和y值: 3.4x+50.2y=44.5 2.1x+0.55y= ...
- Java黑皮书课后题第7章:7.9(找出最小元素)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素。编写测试程序,提示用户输入10个数字,调用这个方法返回最小值,并显示这个最小值
7.9(找出最小元素)使用下面的方法头编写一个方法,求出一个整数数组中的最小元素.编写测试程序,提示用户输入10个数字,调用这个方法返回最小值,并显示这个最小值 题目 题目描述与运行示例 破题 代码 ...
- Java黑皮书课后题第7章:7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数。编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值
7.8(求数组的平均值)使用下面的方法头编写两个重载的方法,返回数组的平均数.编写一个测试程序,提示用户输入10个double型值,然后调用这个方法显示平均值 题目 题目描述 破题 代码 运行实例 题 ...
- Java黑皮书课后题第8章:**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法。编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积
**8.6(代数:两个矩阵相乘)编写两个矩阵相乘的方法.编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的乘积 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.6( ...
- Java黑皮书课后题第8章:*8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和
*8.5(代数:两个矩阵相加)编写两个矩阵相加的方法,编写一个测试程序,提示用户输入两个3*3的矩阵,然后显示它们的和 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 8.5(代数:两 ...
- Java黑皮书课后题第7章:**7.19(是否排好序了?)编写以下方法,如果参数中的list数组已经排好序了则返回true。编写一个测试程序,提示用户输入一个列表,显示该列表是否已经排好序
7.19(是否排好序了?)编写以下方法,如果参数中的list数组已经排好序了则返回true.编写一个测试程序,提示用户输入一个列表,显示该列表是否已经排好序 题目 题目描述 破题 代码 题目 题目描述 ...
- Java黑皮书课后题第6章:*6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和。使用下面的方法头:public static int sumDigits(long n)
6.2(求一个整数各位数字之和)编写一个方法,计算一个整数各位数字之和.使用下面的方法头:public static int sumDigits(long n) 题目 题目概述 槽点 代码 运行示例 ...
- Java黑皮书课后题第5章:5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数、每个学生名字及分数,最后显示获得最高分的学生
5.8(找出得最高分的学生)编写程序,提示用户输入学生的个数.每个学生名字及分数,最后显示获得最高分的学生名字 题目 题目概述 next()读取一个字符与nextLine()读取一行 破题 代码 题目 ...
- Java黑皮书课后题第4章:*4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值
*4.9(给出字符的Unicode码)编写程序,得到一个字符的输入,然后显示其Unicode值 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.9(给出字符的Unicode码)编写程序,得 ...
- Java黑皮书课后题第3章:*3.34(几何:线段上的点)编程练习题3.32显示了如何测试一个点是否在一个无限长的直线上。修改3.32测试一个点是否在一个线段上。编写程序,输入三个点坐标,显示在否线段
*3.34(几何:线段上的点)编程练习题3.32显示了如何测试一个点是否在一个无限长的直线上.修改3.32测试一个点是否在一个线段上.编写程序,输入三个点p0 p1 p2坐标,显示p2在否线段p0p1 ...
最新文章
- 《游戏程序设计模式》 1.4 - 原型模式
- 旷视 CVPR 2021 论文解读直播来喽!
- 关于flex布局的深入学习
- Spring Security 案例实现和执行流程剖析
- java studentmanager_StudentManager.java
- Scala之集合Collection
- 第二次力扣周赛:排名149 / 2046;在完赛边缘打转(总结了5点,实力还不够)
- 快速傅立叶变换_FFT
- 基于SSM的大学生兼职平台
- oracle exadata维保,EXADATA数据一体机巡检说明
- 高颜值的第三方网易云播放器YesPlayMusic
- texstudio如何安装cjk宏包_Latex+CJK从安装到使用【1】
- PGP在加密技术中的应用
- 【Latex】latex表格技巧
- 【整蛊系列大合集】整蛊又有新套路,遇到这种情况你会怎么办?看完笑死爹了。
- oracle x kglob,x$kglob/x$kgltr 中library cache信息查看(结果同dump内容)
- ascii unicode utf8 gkb之间的关系
- 【java 】 for循环中冒号作用
- 令我“细思极恐”的Faster-R-CNN
- idea 启动时怎么选择工作空间