gpt4 book ai didi

java - 如何用Java输入不同的数字

转载 作者:行者123 更新时间:2023-12-01 04:16:02 26 4
gpt4 key购买 nike

问题是编写一个对三个整数进行排序的程序。整数从输入对话框输入并分别存储在变量 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, num2num3

作为检查三个数字的所有可能排列或实现完整排序算法的替代方法,您还可以比较和交换数字。这样,您可以减少比较次数,同时仍然能够对三个数字的所有排列进行排序。

  • 如果 num1 > num2,则交换 num1 和 num2
  • 如果 num2 > num3,则交换 num2 和 num3
  • 如果 num1 > num2,则再次交换 num1 和 num2

经过这三次交换,数字按排序顺序排列。

当然,如果您有超过三个数字,这将变得不切实际,您应该实现完整的排序算法(用于练习)或使用内置函数之一,例如 Arrays.sort (对于现实生活)。

关于java - 如何用Java输入不同的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19444508/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com