Reputation: 67
public class iDon'tRemember {
public static void main(String[] args) {
double average=0;
int sum = 0;
Scanner in = new Scanner(System.in);
System.out.println("Enter 2 numbers: ");
int a=in.nextInt();
int b=in.nextInt();
int[][]array=new int[a][b];
Random rnd=new Random();
for (int i=0;i<array.length;i++){
for (int j =0; j<array[i].length;j++){
array[i][j]=rnd.nextInt(10)+1;
sum+=array[i][j];
average=(float)sum/array.length;
System.out.print(array[i][j] + "\t");
}
System.out.println();
}
System.out.println(average+"is average of array!");
}
}
I'm trying to find an average of numbers but it's usually wrong in console, help to find the mistake!
Upvotes: 1
Views: 67
Reputation: 4612
or more genericaly
average=(float)sum/(array.length * array[0].length);
Upvotes: 1
Reputation: 549
Keep the class name in the program and *class file name same!!
Don't use special character in Class name
import java.util.*;
public class Main{
public static void main(String[] args) {
double average=0;
int sum = 0;
Scanner in = new Scanner(System.in);
System.out.println("Enter 2 numbers: ");
int a=in.nextInt();
int b=in.nextInt();
int[][]array=new int[a][b];
Random rnd=new Random();
for (int i=0;i<array.length;i++){
for (int j =0; j<array[i].length;j++){
array[i][j]=rnd.nextInt(10)+1;
sum+=array[i][j];
average=(float)sum/(array.length * array.length);
System.out.print(array[i][j] + "\t");
}
System.out.println();
}
System.out.println(average+"is average of array!");
}
}
Upvotes: 1
Reputation: 318
I just corrected your code:
import java.util.Random;
import java.util.Scanner;
public class Average2DArray {
public static void main(String[] args)
{
double average=0;
int sum = 0;
Scanner in = new Scanner(System.in);
System.out.println("Enter 2 numbers: ");
int a=in.nextInt();
int b=in.nextInt();
int[][]array=new int[a][b];
Random rnd=new Random();
for (int i=0;i<array.length;i++)
{
for (int j =0; j<array[i].length;j++)
{
array[i][j]=rnd.nextInt(10)+1;
sum+=array[i][j];
System.out.print(array[i][j] + "\t");
}
System.out.println();
}
average=(float)sum/(a*b);//length of 2D array is a*b <--------- also moved it out of the loop
System.out.println(average+"is average of array!");
}
}
Upvotes: 1