Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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 I';我试图返回数组的详细信息,但我返回的是零_Java_Arrays_Class_Methods_Output - Fatal编程技术网

Java I';我试图返回数组的详细信息,但我返回的是零

Java I';我试图返回数组的详细信息,但我返回的是零,java,arrays,class,methods,output,Java,Arrays,Class,Methods,Output,我只是想寻求帮助,因为我似乎不明白为什么我的程序会打印出零,而不是请求什么 使用Eclipse,我将一个包含整数的文本文件读取到一个数组中,然后按升序输出其整数、数组中所有整数的乘积以及数组的最小值和最大值。数组的打印效果与排序效果一样好。当我实际运行程序进行澄清时,我还在这篇文章的末尾附上了一张照片。任何帮助都将不胜感激:)此外,这是我在这个论坛上的第一篇帖子,所以我将非常感谢任何帮助来正确发布。谢谢你们 import java.io.File; import java.math.BigInt

我只是想寻求帮助,因为我似乎不明白为什么我的程序会打印出零,而不是请求什么

使用Eclipse,我将一个包含整数的文本文件读取到一个数组中,然后按升序输出其整数、数组中所有整数的乘积以及数组的最小值和最大值。数组的打印效果与排序效果一样好。当我实际运行程序进行澄清时,我还在这篇文章的末尾附上了一张照片。任何帮助都将不胜感激:)此外,这是我在这个论坛上的第一篇帖子,所以我将非常感谢任何帮助来正确发布。谢谢你们

import java.io.File;
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;//imports scanner class

public class Project1
{
    public static void main(String[] args) throws Exception   
    {   
        int i=0,j;
        int[]numbers=new int[20];
        Scanner inputFile = new Scanner(new File("number.txt"));
        BigInteger product=getMultiplication(numbers);
        int minimum=getMinValue(numbers);
        int maximum=getMaxValue(numbers);
        

            while(inputFile.hasNext()) 
            {
                numbers[i++]=Integer.parseInt(inputFile.nextLine());
            }
            
            //System.out.println(Arrays.toString(numbers));
            
            System.out.println("Numbers in ascending order:");
            Arrays.sort(numbers);
            System.out.println(""+Arrays.toString(numbers));
            System.out.println(" ");
            
            System.out.println("The product of the numbers in the array is: ");
            System.out.println(""+product);
            
            System.out.println("The minimum value of the array is: ");
            System.out.println(""+minimum);
            
            System.out.println("The maximum value of the array is: ");
            System.out.println(""+maximum);
            
            inputFile.close();
    }

    private static int getMaxValue(int[] numbers) {
        int maximum=numbers[0];
        for(int i:numbers)
        {
            if (maximum<i)
                maximum=i;
        }
        return maximum;
    }

    private static int getMinValue(int[] numbers) {
        int minimum=numbers[0];
        for(int i:numbers)
        {
            if (minimum>i)
                minimum=i;
        }
        return minimum;
    }

    private static BigInteger getMultiplication(int[] numbers) {
        BigInteger j=new BigInteger("1");
        for (int i:numbers)
        {
            j=j.multiply(BigInteger.valueOf(i));
        }
        return j;
    }   
}   
导入java.io.File;
导入java.math.biginger;
导入java.util.array;
导入java.util.Scanner//导入扫描仪类
公共类项目1
{
公共静态void main(字符串[]args)引发异常
{   
int i=0,j;
整数[]个数=新整数[20];
扫描仪输入文件=新扫描仪(新文件(“number.txt”);
BigInteger乘积=Get乘法(数字);
int最小值=getMinValue(数字);
int最大值=getMaxValue(数字);
while(inputFile.hasNext())
{
数字[i++]=Integer.parseInt(inputFile.nextLine());
}
//System.out.println(Arrays.toString(numbers));
System.out.println(“升序数字:”);
数组。排序(数字);
System.out.println(“+Arrays.toString(number));
System.out.println(“”);
System.out.println(“数组中数字的乘积为:”);
系统输出打印项次(“+产品);
System.out.println(“数组的最小值为:”);
系统输出打印项次(“+最小值);
System.out.println(“数组的最大值为:”);
系统输出打印项次(“+最大值);
inputFile.close();
}
私有静态int getMaxValue(int[]数字){
int最大值=数字[0];
用于(int i:数字)
{
如果(最大值)
最小值=i;
}
返回最小值;
}
私有静态BigInteger Get乘法(int[]数字){
BigInteger j=新的BigInteger(“1”);
用于(int i:数字)
{
j=j.multiply(biginger.valueOf(i));
}
返回j;
}   
}   

您有:

BigInteger product=getMultiplication(numbers);
int minimum=getMinValue(numbers);
int maximum=getMaxValue(numbers);
        
while(inputFile.hasNext()) {
     numbers[i++]=Integer.parseInt(inputFile.nextLine());
}
将其更改为此,以便在输入数字后调用方法

while(inputFile.hasNext()) {
     numbers[i++]=Integer.parseInt(inputFile.nextLine());
}

BigInteger product=getMultiplication(numbers);
int minimum=getMinValue(numbers);
int maximum=getMaxValue(numbers);
        

            

是的,在将值放入数组之前,不能使用数组中的值