作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题是编写一个对三个整数进行排序的程序。整数从输入对话框输入并分别存储在变量 num1、num2 和 num3 中。该程序对数字进行排序,使得 num1 <= num2 <= num3。
实际上我这样做了,但结果仅适用于 1 ,2 和 3 个数字!
当我输入任何不同的数字时,它不会显示我想要的结果!
这是我的代码..
import javax.swing.JOptionPane;
public class number order {
public static void main(String[] args) {
int num1;
int num2;
int num3;
String n = JOptionPane.showInputDialog(null, "input NUM 1 " );
num1 = Integer.parseInt(n);
String u = JOptionPane.showInputDialog(null, "input NUM 2 " );
num2 = Integer.parseInt(u);
String m = JOptionPane.showInputDialog(null, "input NUM 3 " );
num3 = Integer.parseInt(m);
if (num1<=num2&& num2<=num3)
System.out.println( num1+"<="+ num2+"<="+num3 );
if(num2<=num1&&num1<=num3)
System.out.println(num2+"<="+num1+"<="+num3);
if (num3<=num1&&num1<=num2)
System.out.println(num3+"<="+num1+"<="+num2);
// TODO code application logic here
}
}
最佳答案
问题是您只检查这三个数字的六种可能排列中的三种。另请注意,即使对于这三个,您实际上也没有对数字进行排序,而只是按排序顺序打印它们,即,您永远不会重新分配变量 num1
, num2
和num3
。
作为检查三个数字的所有可能排列或实现完整排序算法的替代方法,您还可以比较和交换对数字。这样,您可以减少比较次数,同时仍然能够对三个数字的所有排列进行排序。
经过这三次交换,数字按排序顺序排列。
当然,如果您有超过三个数字,这将变得不切实际,您应该实现完整的排序算法(用于练习)或使用内置函数之一,例如 Arrays.sort
(对于现实生活)。
关于java - 如何用Java输入不同的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19444508/
我是一名优秀的程序员,十分优秀!