Java 程序将打印最大数字和最小数字

Java 程序将打印最大数字和最小数字,java,Java,我在编写程序时遇到了一些麻烦 double max = 0, min = 0; int i; double array[] = new double[10]; Scanner input = new Scanner(System.in); for (i = 0; i < 10; i++) { System.out.println("Give the " + (i + 1) + " number"); array[i] = input.nextDouble(); } for

我在编写程序时遇到了一些麻烦

double max = 0, min = 0;
int i;
double array[] = new double[10];
Scanner input = new Scanner(System.in);
for (i = 0; i < 10; i++) {
    System.out.println("Give the " + (i + 1) + " number");
    array[i] = input.nextDouble();
}
for (i = 0; i < 10; i++) {
    if (array[i] > max) {
        max = array[i];
    }
    for (i = 0; i < 10; i++) {
        if (array[i] < min) {
            min = array[i];
        }
    }
}
System.out.println("The Max is :" + max);
System.out.println("The Min is :" + min);
double max=0,min=0;
int i;
双数组[]=新的双数组[10];
扫描仪输入=新扫描仪(System.in);
对于(i=0;i<10;i++){
System.out.println(“给出”+(i+1)+“数字”);
数组[i]=input.nextDouble();
}
对于(i=0;i<10;i++){
if(数组[i]>max){
max=数组[i];
}
对于(i=0;i<10;i++){
if(数组[i]
当我键入10个数字时,其中包括一个最大数字和一个最小数字, 结果是 最大值为:最大数 最小值为:0.0


总是最小的,无论我键入什么,都会得到0.0。每次我得到0.0,我都会键入2号,4号,我会键入最小值(总是在单独启动时)。最小值的初始值为零,我假设您的数据中没有小于零的值


尝试将
min
初始值设置为Double。MAX\u value

最小值的初始值为零,我假设数据中没有小于零的值


尝试将您的
min
初始值设置为双倍。MAX\u值您的大括号不正确。您将在SYSOUT之前结束max循环

    double max = 0, min = 0;
    int i;

    double array[] = new double[10] ;    
    Scanner input = new Scanner (System.in) ;    
    for (i = 0; i < 10; i++)
    {
        System.out.println("Give the " + (i+1) + " number") ;
        array[i] = input.nextDouble();
    }            
        max = array[0];
        min = array[0];
        for (i = 0; i < 10; i++) {
            if (array[i] > max) {
                max = array[i];
            }

            }

            for (i = 0; i < 10; i++) {                
                if (array[i] < min) {
                    min = array[i];
                }
            }       

        System.out.println("The Max is :" + max);
        System.out.println("The Min is :" + min);
double max=0,min=0;
int i;
双数组[]=新的双数组[10];
扫描仪输入=新扫描仪(System.in);
对于(i=0;i<10;i++)
{
System.out.println(“给出”+(i+1)+“数字”);
数组[i]=input.nextDouble();
}            
max=数组[0];
最小值=数组[0];
对于(i=0;i<10;i++){
if(数组[i]>max){
max=数组[i];
}
}
对于(i=0;i<10;i++){
if(数组[i]

运行这个。它将给出正确的结果。

您的花括号不正确。您将在SYSOUT之前结束max循环

    double max = 0, min = 0;
    int i;

    double array[] = new double[10] ;    
    Scanner input = new Scanner (System.in) ;    
    for (i = 0; i < 10; i++)
    {
        System.out.println("Give the " + (i+1) + " number") ;
        array[i] = input.nextDouble();
    }            
        max = array[0];
        min = array[0];
        for (i = 0; i < 10; i++) {
            if (array[i] > max) {
                max = array[i];
            }

            }

            for (i = 0; i < 10; i++) {                
                if (array[i] < min) {
                    min = array[i];
                }
            }       

        System.out.println("The Max is :" + max);
        System.out.println("The Min is :" + min);
double max=0,min=0;
int i;
双数组[]=新的双数组[10];
扫描仪输入=新扫描仪(System.in);
对于(i=0;i<10;i++)
{
System.out.println(“给出”+(i+1)+“数字”);
数组[i]=input.nextDouble();
}            
max=数组[0];
最小值=数组[0];
对于(i=0;i<10;i++){
if(数组[i]>max){
max=数组[i];
}
}
对于(i=0;i<10;i++){
if(数组[i]

运行这个。它将给出正确的结果。

在将数字输入数组之前初始化最大值和最小值,当尝试查找最大值和最小值时,首先将数字输入数组,然后将其与数组[0]进行比较。 第二件事是,您不需要为循环检查是否需要更改max或min,您可以在一个for循环中完成。 试试这个:

    double array[] = new double[10];
    int i;
    Scanner input = new Scanner(System.in);
    for (i = 0; i < 10; i++) {
        System.out.println("Give the " + (i + 1) + " number");
        array[i] = input.nextDouble();
    }
    double max = array[0], min = array[0];
    for (i = 0; i < 10; i++) {
        if (array[i] > max) {
            max = array[i];

        }

        if (array[i] < min) {
            min = array[i];
        }
    }
    System.out.println("The Max is :" + max);
    System.out.println("The Min is :" + min);
double数组[]=新的double[10];
int i;
扫描仪输入=新扫描仪(System.in);
对于(i=0;i<10;i++){
System.out.println(“给出”+(i+1)+“数字”);
数组[i]=input.nextDouble();
}
双最大值=数组[0],最小值=数组[0];
对于(i=0;i<10;i++){
if(数组[i]>max){
max=数组[i];
}
if(数组[i]
在将数字输入数组之前初始化最大值和最小值,当尝试查找最大值和最小值时,首先将数字输入数组,然后将其与数组[0]进行比较。 第二件事是,您不需要为循环检查是否需要更改max或min,您可以在一个for循环中完成。 试试这个:

    double array[] = new double[10];
    int i;
    Scanner input = new Scanner(System.in);
    for (i = 0; i < 10; i++) {
        System.out.println("Give the " + (i + 1) + " number");
        array[i] = input.nextDouble();
    }
    double max = array[0], min = array[0];
    for (i = 0; i < 10; i++) {
        if (array[i] > max) {
            max = array[i];

        }

        if (array[i] < min) {
            min = array[i];
        }
    }
    System.out.println("The Max is :" + max);
    System.out.println("The Min is :" + min);
double数组[]=新的double[10];
int i;
扫描仪输入=新扫描仪(System.in);
对于(i=0;i<10;i++){
System.out.println(“给出”+(i+1)+“数字”);
数组[i]=input.nextDouble();
}
双最大值=数组[0],最小值=数组[0];
对于(i=0;i<10;i++){
if(数组[i]>max){
max=数组[i];
}
if(数组[i]
两个简单的更正:

  • 只需将初始化的最小值和最大值设置为数组中的某些值即可。(例如,数组[0]用于解决您的问题)
  • 不需要3个循环来找到最小值和最大值,只需使用一个
  • 见以下代码:

    int i;
    double array[] = new double[10] ;
    Scanner input = new Scanner (System.in) ;
    
    System.out.println("Give the " + (1) + " number") ;
    array[0] = input.nextDouble();
    
    double max = array[0], min = array[0];
    
    for (i = 1; i < 10; i++)
    {
        System.out.println("Give the " + (i+1) + " number") ;
        array[i] = input.nextDouble();
    
        if(array[i] > max)
            max = array[i] ;
    
        if (array[i] < min)
            min = array[i];
    }
    
    System.out.println("The Max is :" + max);
    System.out.println("The Min is :" + min);
    
    inti;
    双数组[]=新的双数组[10];
    扫描仪输入=新扫描仪(System.in);
    System.out.println(“给出”+(1)+“数字”);
    数组[0]=input.nextDouble();
    双最大值=数组[0],最小值=数组[0];
    对于(i=1;i<10;i++)
    {
    System.out.println(“给出”+(i+1)+“数字”);
    数组[i]=input.nextDouble();
    if(数组[i]>max)
    max=数组[i];
    if(数组[i]
    两个简单的更正:

  • 只需将初始化的最小值和最大值设置为数组中的某些值即可。(例如,数组[0]用于解决您的问题)
  • 不需要3个循环来找到最小值和最大值,只需使用一个
  • 见以下代码:

    int i;
    double array[] = new double[10] ;
    Scanner input = new Scanner (System.in) ;
    
    System.out.println("Give the " + (1) + " number") ;
    array[0] = input.nextDouble();
    
    double max = array[0], min = array[0];
    
    for (i = 1; i < 10; i++)
    {
        System.out.println("Give the " + (i+1) + " number") ;
        array[i] = input.nextDouble();
    
        if(array[i] > max)
            max = array[i] ;
    
        if (array[i] < min)
            min = array[i];
    }
    
    System.out.println("The Max is :" + max);
    System.out.println("The Min is :" + min);
    
    inti;
    蠢货