J'ai créé un programme utilisant précédemment la méthode BubbleSort qui fonctionne pour trier des nombres dans une liste qui existe déjà, mais j'ai du mal à essayer de manipuler ce programme afin de permettre un utilisateur pour entrer la liste des numéros à trier à la place. Jusqu'à présent, j'ai:Modification du programme Bubblesort avec l'entrée utilisateur
import java.util.Scanner;
public class MedianValue {
public static void main(String[] args) {
//use scanner to input list of numbers to sort
Scanner scan = new Scanner(System.in);
int[] numbers = new int[] {scan.nextInt()};
//nested for loop
//outer loop just iterating
//inner loop going through and flipping
//checking if out of order (if statement)
int counter = 0;
//outer loop: keep doing this until it's sorted
for(int i = 0; i < numbers.length - 1; i = i + 1)
//put in a inner loop number.length times minus one because we don't want to swap the last element
for(counter = 0; counter < numbers.length - 1; counter = counter + 1)
{
if (numbers [counter] > numbers [counter + 1])
{
int temporary = numbers [counter];
numbers [counter] = numbers [counter + 1];
numbers [counter + 1] = temporary;
}
}
for(int i =0; i < numbers.length; i = i + 1)
{
System.out.print(numbers[i] + " ");
}
}
}
Mais, dans ce programme, au lieu de trier les numéros entrés, le programme affiche simplement le premier numéro qui est entré par l'utilisateur. Je ne suis pas sûr si je dois déplacer où ma fonction de scanner est placée, ou ajouter dessus dans la boucle pour trier tous les nombres comme je le veux faire. Je suis perdu sur où changer le programme si c'est le cas.