我是java编程的新手,我不知道如何找到数组的平均值,也不知道如何向后打印数组。到目前为止,这是我的代码:
public static void forwards(int nums, int arrayNums[]){
for(int a=0;a<arrayNums.length;a++){
nums =(int)(Math.random()*90+10);
System.out.print(nums+" ");
}
System.out.println();
System.out.println();
//Average of the array
int average=0;
for(int b=0;b<arrayNums.length; b++){
average=(average+arrayNums[b]);
}
System.out.println();
System.out.println(average);
}
public static void backwards(int nums, int[] arrayNums){
//backwards of the array
for(int a=arrayNums.length; a>0;a--){
System.out.print(nums+" ");
}
}
public static void main (String [] args){
int[] arrayNums = new int [Integer.parseInt
(JOptionPane.showInputDialog("How many numbers do you want to input?"))];
int nums = 1;
forwards(nums,arrayNums);
System.out.println();
backwards(nums,arrayNums);
答案 0 :(得分:0)
平均---->
for (int i = 0; i < array.length; i++)
{
sum += array[i];
}
int avegare = sum / array.length;
For Backwards ---->
for(int i = Array.length - 1; i >= 0;i--)
答案 1 :(得分:0)
向后应该以{{1}}:
开头arrayNums.length-1
原因是指数从public static void backwards(int nums, int[] arrayNums){
//backwards of the array
for(int a=arrayNums.length-1; a >= 0; a--){
System.out.print(arrayNums[a]+" ");
}
}
变为0
。这基本上就是在for循环中发生的事情。
对于平均值,你忘记了除以元素数量的除法......
答案 2 :(得分:0)
这是查找平均值的简单方法。只需将每个元素相加,然后除以数组中元素的总数:
public static double average(int[] array)
{
int average =0;
for(int i =0; i< array.length; i++ )
{
average += array[i];
}
return average/array.length;
}
这是一种向后的方法。从array.length-1
开始,这是最后一个索引。从那里开始,向下迭代i--
,然后在i
为零时结束。
public static void printBackwards(int[] array)
{
for(int i =array.length-1; i>= 0; i--)
{
System.out.print(array[i] +" ");
}
}
调用方法时,这是您应该使用的语法:
double avg = average(arrayNums);
System.out.println(avg);
printBackwards(arrayNums);
答案 3 :(得分:0)
“我只是想弄清楚如何找到数组的平均值,也不知道如何向后打印数组。”
对于平均值,您应该使用其他方法,而不是在forwards
方法中尝试
public static double average(int[] arrayNums) {
double sum = 0;
...
double average = // how do you get the average of something?
return average;
}
我从基本大纲开始。您基本上需要通过循环数组将所有数字添加到总和中,然后通过将其乘以数组中的总数来获得平均值。然后你可以打印平均值
double average = average(array);
System.out.println(average)
对于向后,您要打印arrayNums[a]
而不是nums
。您还应该从arrayNum.length - 1
开始循环,因为数组arrayNums.length
中没有索引,因此您将获得ArerayOutOfBounds
异常。您还想要第0个索引,因此您想使用>=
for(int a = arrayNums.length - 1; a >= 0 ;a--) {
// print arrayNums[a]
您似乎对forwards
的{{1}}做了同样错误的事情。您想打印每个索引backwards
的数组值,而不是a
我还会用不同的方法
创建nums
数组
random
然后你可以做 public static int[] randomArray(int num) {
int[] random = new int[nums];
.... may array by looping
return random;
}
main
如您所见,我没有将 int[] array = randomArray(num);
forwards(array);
backwards(array);
double average = average(array);
System.out.println(average);
传递给方法。我认为你应该从方法签名中取出tha参数。我觉得没用。