Java Int[]的平均值;方法不返回
我的任务是计算用户在数组中定义的整数的平均值,并使用类文件中的方法打印回main 目前我有两个文件要编译,但似乎不明白为什么没有打印。请帮忙,非常感谢 要检查的测试程序中的代码片段:Java Int[]的平均值;方法不返回,java,arrays,class,methods,average,Java,Arrays,Class,Methods,Average,我的任务是计算用户在数组中定义的整数的平均值,并使用类文件中的方法打印回main 目前我有两个文件要编译,但似乎不明白为什么没有打印。请帮忙,非常感谢 要检查的测试程序中的代码片段: // Print average of integers in array. System.out.println("\nAverage of values in array ="); myArray.avgArray(); // Method to calculate average of
// Print average of integers in array.
System.out.println("\nAverage of values in array =");
myArray.avgArray();
// Method to calculate average of integers in array.
public double avgArray()
{
int sum = 0;
for(int ctr = 0; ctr < limit; ctr++)
{
sum = sum + nrs[ctr];
}
double avg = sum /(double)limit;
return avg;
}
要检查的类程序中的代码片段:
// Print average of integers in array.
System.out.println("\nAverage of values in array =");
myArray.avgArray();
// Method to calculate average of integers in array.
public double avgArray()
{
int sum = 0;
for(int ctr = 0; ctr < limit; ctr++)
{
sum = sum + nrs[ctr];
}
double avg = sum /(double)limit;
return avg;
}
这段代码包含我的类以及我将要实现到main的各种方法:
import java.util.Scanner;
public class P5class
{
// Constructor setting up empty array of size specified by user.
public P5class(int size)
{
limit = size;
nrs = new int[limit];
}
// Method to fill array.
public void fillArray()
{
// Set up Scanner object for keyboard input.
Scanner keyboard = new Scanner(System.in);
for(int ctr = 0; ctr < limit; ctr++)
{
System.out.print("Integer #" + (ctr+1) + ": ");
nrs[ctr] = keyboard.nextInt();
}
}
// Method to display contents of array.
public void printArray()
{
for(int ctr = 0; ctr < limit; ctr++)
{
System.out.println("Nrs[" + ctr + "] = " + nrs[ctr]);
}
}
// Method to calculate average of integers in array.
public double avgArray()
{
int sum = 0;
for(int ctr = 0; ctr < limit; ctr++)
{
sum = sum + nrs[ctr];
}
double avg = sum /(double)limit;
return avg;
}
// Method to examine if any positive values are present in array.
public void pvaluesArray()
{
int largest = nrs[0];
// Check to see if any other number in array is larger than first.
for(int ctr = 1; ctr < limit; ctr++)
{
if(nrs[ctr] > largest)
largest = nrs[ctr];
}
int sum = 0;
for(int ctr = 0; ctr < limit; ctr++)
{
sum = sum + nrs[ctr];
}
double average = (double)sum/limit;
for(int ctr = 0; ctr < limit; ctr++)
{
if(largest <= 0)
{
System.out.println("\nArray contains no positive integers.");
break;
}
else if (nrs[ctr] > 0)
{
System.out.println("Nrs[" + ctr + "] = " + nrs[ctr]);
}
}
}
// Method to sort array into ascending order.
public void sortArray()
{
for(int ctr0 = 0; ctr0 < limit-1; ctr0++)
{
// Make one pass of Bubble Sort.
for(int ctr = 0; ctr < limit-1; ctr++)
{
if(nrs[ctr] > nrs[ctr+1])
{
int temp = nrs[ctr];
nrs[ctr] = nrs[ctr+1];
nrs[ctr+1] = temp;
}
}
}
}
// Instance variables.
private int limit;
private int[] nrs;
}
它正在返回一个值,但您没有使用它执行任何操作,请尝试:
System.out.println("\nAverage of values in array = " + myArray.avgArray());
或:
或者其他许多方式中的一种
或者,代替
返回平均值
,您可以使用System.out.println(avg)的方法简单地打印出来
并将返回类型更改为void
它返回一个值,但您没有对其执行任何操作,请尝试:
System.out.println("\nAverage of values in array = " + myArray.avgArray());
或:
或者其他许多方式中的一种
或者,代替
返回平均值
,您可以使用System.out.println(avg)的方法简单地打印出来
并将返回类型更改为void
我对没有看到这一点感到空虚。多谢了,修好了!我看不到这一点,心里感到空虚。多谢了,修好了!