Partage
  • Partager sur Facebook
  • Partager sur Twitter

programme de trie

Sujet résolu
    16 septembre 2015 à 13:45:32

    bonjour je suis débutant en java j'ai essayé d’écrire ce code mais ça n'exécute pas quelqu'un pourrait m'aider?

    Écrire un programme Java (Tri.java) qui demande à l’utilisateur d’entrer trois nombres entiers et le sens du tri (C pour croissant et D pour décroissant) et qui affiche les nombres dans l’ordre demandé.

    -
    Edité par hermman 16 septembre 2015 à 14:02:51

    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      16 septembre 2015 à 14:19:58

      PS : je pense que t'as quand même pas trop du fouiller sur le net :-°...

      Je te propose ceci qui fait un tri décroissant :

      package test;
      
      class ItemDesc implements Comparable<ItemDesc> {
      
      	    int value;
      
      	    ItemDesc(int value) {
      	        this.value = value;
      	    }
      
      	    @Override
      	    public int compareTo(ItemDesc other) {
      	        return (this.value < other.value) ? 1 : ((this.value == other.value) ? 0 : -1); // ordre décroissant
      	    }
      }
      
       
      package test; import java.util.Arrays; import java.util.Collections; import java.util.List; class Main { public static void main(final String[] argv) { List<ItemDesc> items = Arrays.asList(new ItemDesc(1), new ItemDesc(5), new ItemDesc(2), new ItemDesc(4), new ItemDesc(3)); // Décroissant Collections.sort(items); items.forEach(item -> System.out.println(item.value)); } }

      Je te laisse faire pour le tri croissant, mais il faudra que tu modifies ce qu'il y a dans la fonction compareTo(), si t'arrives à le faire, c'est que t'as compris le mécanisme ;) !!

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        16 septembre 2015 à 14:44:53

        Avec la gestion des entrées / sortie clavier et la gestion des erreurs, ça doit donner quelque chose comme ça :

        (Je te laisse y jeter un œil et surtout faire la partie croissante pour que t'apprennes)

        package test;
        
        import java.util.Arrays;
        import java.util.Collections;
        import java.util.InputMismatchException;
        import java.util.List;
        import java.util.Scanner;
        
        class Main  {
        
           public static void main(final String[] argv) {
        	   // Déclarations
        	   int nb1= 0;
        	   int nb2= 0;
        	   int nb3= 0;
        	   
        	   String order ="";
        	   Scanner sc = new Scanner(System.in);
        	   
        	   // Traitement
        	   try {
        		    System.out.println("Veuillez saisir le 1er nombre :");
        	        nb1 = sc.nextInt();
        	        
        	        System.out.println("Veuillez saisir le 2eme nombre :");
        	        nb2 = sc.nextInt();
        	        
        	        System.out.println("Veuillez saisir le 3eme nombre :");
        	        nb3 = sc.nextInt();
        	        
        	        Scanner sc2 = new Scanner(System.in);
        	        System.out.println("Veuillez un ordre (D : Décroissant) / (C : Croissant)");
        	        order = sc2.nextLine();
        	        if(order.equals("D")) {
        	        	System.out.println("Vous avez saisi : Décroissant");
        	        } else if(order.equals("C")) {
        	        	System.out.println("Vous avez saisi : Croissant");
        	        }
        	   } catch(InputMismatchException ex) {
        		   System.out.println("Erreur lors de l'entree clavier");
        		}
                
                // Initialisation de la list
                List<ItemDesc> items = Arrays.asList(new ItemDesc(nb1), new ItemDesc(nb2), new ItemDesc(nb3));
                if(order.equals("D")) {
                	 // Décroissant
                	Collections.sort(items);
                } else if (order.equals("C")) {
                	// Croissant
                	
                } else {
                	System.out.println("-ERROR- :  L'ordre choisi doit être 'D' ou 'C'");
                }
        
                items.forEach(item -> System.out.println(item.value));
                
                sc.close();
            }
        }
        package test;
        
        class ItemDesc implements Comparable<ItemDesc> {
        
        	    int value;
        
        	    ItemDesc(int value) {
        	        this.value = value;
        	    }
        
        	    @Override
        	    public int compareTo(ItemDesc other) {
        	        return (this.value < other.value) ? 1 : ((this.value == other.value) ? 0 : -1); // ordre décroissant
        	    }
        }
        
        • Partager sur Facebook
        • Partager sur Twitter
          29 septembre 2015 à 19:08:35

          bonjour j'ai besoin d'aide

          Écrivez un programme Java (Facteurs.java) qui demande à l'utilisateur d'entrer un nombre entier positif et qui permet d'afficher tous les facteurs de ce nombre.

          • Partager sur Facebook
          • Partager sur Twitter

          programme de trie

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown