Je suis un Newb complet avec Java et j'ai un très curieux problème qui se passe dans mon code. L'objet consiste à créer une liste de 20 nombres aléatoires dans un tableau, à afficher ce tableau et à effectuer une série de calculs basés sur les données du tableau. Cela doit être accompli en 6 méthodes. Tout semble bien fonctionner sauf pour la dernière méthode. Il est destiné à saisir le nombre le plus bas dans le tableau, mais pour une raison quelconque, il sort seulement un 0. Ce qui est étrange est que cela fonctionne parfaitement bien pour la méthode ci-dessus, qui regroupe le nombre le plus élevé dans le tableau.java low value ouput 0
J'ai essayé de dépanner et de voir si c'était le cas d'un tableau avec des valeurs nulles, mais ce n'est pas probable que la méthode la plus élevée semble fonctionner correctement. La liste la plus basse est près du fond.
Merci de votre aide, il est très apprécié pour ce greenhorn. Aussi, si vous avez d'autres commentaires qui seraient géniaux, je suis ouvert à la critique!
import java.util.Random;
public class Program7 {
public static void main(String[] args) {
final int listSize = 20; // List size
double total = 0; // Total
int[] ranList = new int[listSize]; // Array with random numbers
int highest = ranList[0]; // Highest variable
int lowest = ranList[0]; // Lowest Variable
randomNumberList(ranList); // Calls randomNumberList method
displayList(ranList); // Calls displayList method
total = totalList(total, ranList); // Calls totalList method
double averageList = listAverage(total, ranList); // Calls averageList method
highest = listHighest(ranList, highest); // Calls listHighest method
lowest = lowestList(ranList, lowest); // Calls lowestList method
// On screen output
System.out.println("\nHere's the total: " + total);
System.out.println("Here's the average: " + averageList);
System.out.println("Here's the highest number in the list: " + highest);
System.out.println("Here's the lowest number in the list: " + lowest);
}
/**
* Generates a random list
*
* @param ranList
*/
public static void randomNumberList(int[] ranList) {
for (int i = 0; i < ranList.length; i++) {
Random generator = new Random();
int ranNum = generator.nextInt(100) + 1;
ranList[i] = ranNum;
}
}
/**
* Displays list
*
* @param ranList
*/
public static void displayList(int[] ranList) {
System.out.println("Here is your random list: ");
for (int i = 0; i < ranList.length; i++) {
System.out.print(ranList[i] + " ");
}
}
/**
* Adds elements in list
*
* @param total
* @param ranList
* @return returns total of list added together
*/
public static double totalList(double total, int[] ranList) {
for (int i = 0; i < ranList.length; i++) {
total += ranList[i];
}
return total;
}
/**
* Finds average by dividing the total with the ranList.length
*
* @param total
* @param ranList
* @return result of the averaging
*/
public static double listAverage(double total, int[] ranList) {
double averageList = total/ranList.length;
return averageList;
}
/**
* Steps through array via loop and finds highest value
*
* @param ranList
* @param highest
* @return the highest value
*/
public static int listHighest(int[] ranList, int highest) {
for (int i = 0; i < ranList.length; i++) {
if (ranList[i] > highest) {
highest = ranList[i];
}
}
return highest;
}
/**
* Steps through array via loop and finds lowest value
*
* @param ranList
* @param lowest
* @return the lowest value
*/
public static int lowestList(int[] ranList, int lowest) {
for (int i = 0; i < ranList.length; i++) {
if (ranList[i] < lowest) {
lowest = ranList[i];
}
}
return lowest;
}
}
Cette solution a secoué mes chaussettes, je vous remercie! – JavaTheMutt