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