Je dois faire un projet qui génère jusqu'à 100 nombres aléatoires, les montre, puis vous sélectionnez un des types de sortes (sélection, bulle, insertion, shell ..), et il les trie. J'ai déjà fait la partie génératrice, mais j'ai des problèmes avec le premier tri par tri. Il affiche uniquement des zéros à la place de mes nombres générés et triés.Mise en œuvre du tri de sélection dans un projet plus grand
package projekt;
import java.util.Scanner;
import java.util.Random;
public class Projekt {
public static void main(String[] args) {
int[] tablica;
Scanner odczyt = new Scanner(System.in);
System.out.println("Give number of elements (max 100): ");
int liczbaElementow = odczyt.nextInt();
tablica = new int[liczbaElementow];
if (liczbaElementow <= 100 && liczbaElementow > 0){
System.out.println("Generated:");
Random Generator = new Random();
for (int idx = 1; idx <= liczbaElementow; ++idx){
int randomInt = Generator.nextInt(101);
System.out.print(" " +randomInt);
}
{
System.out.println(" ");
System.out.print("Choose sorting method (1, 2 lub 3):");
}
Scanner odczyt2 = new Scanner(System.in);
int ktoresort = odczyt2.nextInt();
switch (ktoresort) {
case 1: System.out.println("SORT 1");
{
{
int min = 0;
for(int i = 0;i<liczbaElementow;i++)
{
min = i;
for(int j = i + 1;j<liczbaElementow;j++)
{
if(tablica[j] < tablica[min]) { min = j;}
}
int temp = tablica[i];
tablica[i] = tablica[min];
tablica[min] = temp;
System.out.println(tablica[i]);
}
}
}
break;
case 2: System.out.println("SORT 2");
break;
case 3: System.out.println("SORT 3");
break;
default: System.out.println("incorrect value");
break;
}
odczyt2.close();
}
else if (liczbaElementow==0) {
System.out.println("entered 0");
}
else{
System.out.println("value is biger than 100");
}
}
}
où remplir-vous le tableau? – Ollaw
Bienvenue dans Stack Overflow! J'ai édité votre question pour enlever des lignes supplémentaires et corriger l'indentation. En aparté (pas lié à votre problème, mais puisque vous avez mentionné que vous n'êtes pas un programmeur) vous avez des parenthèses inutiles qui sont rendues plus évidentes par cela, je suggérerais de mettre votre IDE à auto-indent si possible. Aussi, pas besoin de l'argument dans System.out.println ("") ', System.out.println()' va juste imprimer une nouvelle ligne. À votre santé! – whrrgarbl
Merci pour votre réponse. J'ai commencé à écrire ceci dans le bloc-notes classique de Windows, puis mon ami m'a parlé d'éclipse, donc il pourrait y avoir un petit désordre de ce début. Je n'ai jamais vraiment essayé de taper juste() pour créer une nouvelle ligne mais j'ai juste remplacé ceci dans mon code maintenant et cela a fonctionné :) – justme