Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中查找最小值、最大值和中间值_Java_Sorting - Fatal编程技术网

在Java中查找最小值、最大值和中间值

在Java中查找最小值、最大值和中间值,java,sorting,Java,Sorting,我使用了这个代码。这是正确的方法吗?我想把数字按升序排序。有更好的办法吗 import java.lang.Math; public class Numbers { public static void main(String[] args) { int a=1; int b=2; int c=3; if (a<b && a<c) System.out.println("Smallest: a"); els

我使用了这个代码。这是正确的方法吗?我想把数字按升序排序。有更好的办法吗

import java.lang.Math;
public class Numbers
{
  public static void main(String[] args)
  {
    int a=1;
    int b=2;
    int c=3;

    if (a<b && a<c)
      System.out.println("Smallest: a");
    else if (a>b && a>c)
      System.out.println("Biggest: a");
    else if (a>b && a<c)
      System.out.println("Mid: a");
    else if (a<b && a>c)
      System.out.println("Mid: a");
    if (b<c && b<a)
      System.out.println("Smallest: b");
    else if (b>c && b>a)
      System.out.println("Biggest: b");
    else if (b>c && b<a)
      System.out.println("Mid: b");
    else if (b<c && b>a)
      System.out.println("Mid: b");
    if (c<a && c<b)
      System.out.println("Smallest: c");
    else if (c>a && c>b)
      System.out.println("Biggest: c");
    else if (c>a && c<b)
      System.out.println("Mid: c");
    else if (c<a && c>b)
      System.out.println("Mid: c");
  }
}
import java.lang.Math;
公共课号
{
公共静态void main(字符串[]args)
{
INTA=1;
int b=2;
int c=3;
中频(交流)
System.out.println(“最大:a”);

否则,如果(a>b&&ac&&ba&&c您可以将这三个数字存储在一个数组中,然后执行以下操作

Arrays.sort(numbers);

/* numbers[0] will contain your minimum
 * numbers[1] will contain the middle value
 * numbers[2] will contain your maximum
 */

仅此而已!

您可以将这三个数字存储在一个数组中,然后执行以下操作

Arrays.sort(numbers);

/* numbers[0] will contain your minimum
 * numbers[1] will contain the middle value
 * numbers[2] will contain your maximum
 */

仅此而已!

扩展Steve的答案(我假设您是Java新手,需要一个更完整的示例):


扩展Steve的答案(我假设您是Java新手,需要一个更完整的示例):


一般来说,最好使用一个循环和一个数组来处理这类事情,如果你有3个以上的数字,那么它仍然可以工作。而且你也不需要输入几乎一样多的数字。尝试这样的方法来找到最小的数字

MyArray = new int[3];

MyArray[0] = 1;
MyArray[1] = 2;
MyArray[2] = 3;

int temp = a;

for (int i = 0; i < (number of numbers to check in this case 3); i++){
    if (MyArray[i] < temp){
        temp = MyArray[i];
    }
}

System.out.println("Smallest number is: " + temp);
MyArray=newint[3];
MyArray[0]=1;
MyArray[1]=2;
MyArray[2]=3;
内部温度=a;
for(int i=0;i<(本例中要检查的数字数量3);i++){
if(MyArray[i]
一般来说,如果您有3个以上的数字,那么最好使用循环和数组来处理这类问题。此外,您也不必键入几乎相同的数字。尝试类似的方法来查找最小的数字

MyArray = new int[3];

MyArray[0] = 1;
MyArray[1] = 2;
MyArray[2] = 3;

int temp = a;

for (int i = 0; i < (number of numbers to check in this case 3); i++){
    if (MyArray[i] < temp){
        temp = MyArray[i];
    }
}

System.out.println("Smallest number is: " + temp);
MyArray=newint[3];
MyArray[0]=1;
MyArray[1]=2;
MyArray[2]=3;
内部温度=a;
for(int i=0;i<(本例中要检查的数字数量3);i++){
if(MyArray[i]
你所说的“我想要排列数字”是什么意思?在这个问题中,你实际上对数组什么都不做。你想要排列它们是什么意思?你只是想得到值还是“名称”呢?如果只是你感兴趣的值,那么就创建一个数组并排序(任何关于数组的教程或文档部分都应该在这里有所帮助)。如果您还需要名称,您可以创建一个包含名称和编号的对象,创建一个数组/列表并进行排序。您所说的“我想要排列编号”是什么意思?在这个问题中,你对数组什么都不做。你想对它们进行数组是什么意思?你只想得到值还是“名称”吗?如果只是你感兴趣的值,那么就创建一个数组并进行排序(任何关于数组的教程或文档部分都应该在这里提供帮助)。如果您还需要名称,您可以创建一个包含名称和编号的对象,创建这些名称和编号的数组/列表并进行排序。请编辑您的答案以支持/解释您的代码。请编辑您的答案以支持/解释您的代码。