0
Coding Club challenge 2.
create and array of 5 integers and return the average number of all 5. bonus points for using user input.
8 odpowiedzi
+ 2
import java.util.Scanner;
public class sumArray
{
public static void main(String[] args)
{
// Program ID
System.out.println(" [ sumArray.java] \n");
System.out.println("Sums any array of int numbers");
// Data Table
Scanner keyboardIn = new Scanner(System.in);
int size;
int sumTotal;
double average;
size = 0;
sumTotal = 0;
average = 0.0;
// Ask for size of array
System.out.print("What is the size of the array?(): ");
size = keyboardIn.nextInt();
// Make array of size
int[] intArray = new int[size];
// Ask for input into the array
System.out.print("Enter whole numbers: ");
for(int index = 0; index < size; ++index)
{
intArray[index] = keyboardIn.nextInt();
sumTotal += intArray[index];
}
System.out.println();
// Output sum of the numbers
System.out.println("The sum of the array is " + sumTotal);
// Calculate and output average of the numbers
average = (double)sum / size;
System.out.println("The average of the array is " + average);
} // end of public static void main(String[] args)
} // end of public class sumArray
+ 1
Barra,
1) I think you should have a single scanner for the entire program. I mean, as you declared and initialized the scanner in your while loop after a loop is completed, the scanner is destroyed and another one is created. My suggestion is that declare and initialize the scanner where you have initialized the other variables.
2) While calculating average, you haven't upcasted anything. So, when you calculate average, int/int returns int even though you expect float or double. To get the float or double output, you have to upcast either of the numerator or denominator. If you need reference on how to do it, see my code
0
Cool I'll go do it now 😀
0
//I've done it very manually, as I am new to coding. If anyone knows a simplified version, please tell me as I would assume there is one.
public class Program
{
public static void main(String[] args) {
int first = (1), second = (2), third = (3), fourth = (4), fifth = (5);
int average = ((first + second + third + fourth + fifth)/5);
System.out.println(average);
}
}
0
With regards to user input, I have never tried that using Java, only using Python so am unsure as to where to start. It would be a great skill, though.
0
there are properly some mistakes in this code as it wouldn't run on my phone. I tried it earlier on my laptop and it worked fine. so it might just be a small stupid mistake.
I use import "java.util.Scanner"to get user input. as you can see in the code, I then call scanner and wait for user to submit something.
import java.util.Scanner;
public class ReturnAverage
{
public static void main(String[] args) {
int numbs[] = new int[5];
int average = 0;
int counter = 0;
int holder = 0;
while(counter < numbs.length){
// get user imput;
Scanner userNum = new Scanner(System.in);
holder = userNum.nextInt();
numbs[counter] = holder;
counter++;
}
for(int i = 0; i < numbs.length; i++) {
average += numbs[i];
System.out.println(average / numbs.length);
}
}
}
0
Nice. I like how the user gets to pick how many numbers he wants to enter. I shall use that
0
import java.util.Scanner;
public class ArrayAverage{
public static void main(String[] args){
Scanner scan = new Scanner(System.in);
System.out.print("Number of elements in the array? ");
int size = scan.nextInt();
//Input array
Integer[] array = new Integer[size];
System.out.println("Enter elements of array");
for(int i=0; i<size; i++){
array[i] = scan.nextInt();
}
//Printing average
System.out.printf("The average of the elements of array is %.2f\n", average(array));
}
//Calculating average
private static float average(Integer[] array){
int sum = 0;
for(int i=0; i<array.length; i++)
sum += array[i];
float avg = (float)sum / array.length;
return avg;
}
}