Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème de compréhension du cours

Problème 3ème partie du cours "Débuter la programmation avec java"

Sujet résolu
    14 octobre 2021 à 17:43:02

    Bonjour et merci par avance pour votre aide.

    Voici le soucis,

    Dans la troisième partie du cours "Débuter la programmation en java" on nous demande de créer une classe utilitaire (appelée SimpleMaths) dans un package exceptions.

    Donc via la console j'ai créé un dossier exceptions à l'aide de la commande mkdir et un fichier SimpleMaths.java à l'aide de la commande touch.

    Dans ce fichier j'ai coller le code suivant : 

    package exceptions;
    
    import java.util.List;
    
    public class SimpleMaths {
    
        /** calculez la valeur moyenne d'une liste d'entiers
        *
        * @param listOfIntegers une liste contenant des nombres entiers
        * @return la moyenne de la liste
        */
        
        public static int calculateAverage(List<Integer> listOfIntegers) {
            int average=0;
            for (int value: listOfIntegers) {
                average+=value;
            }
            average/=listOfIntegers.size();
            return average;
        }
    }

    Par la suite, j'ai créé une classe SimpleMaths.class avec la commande java SimpleMaths.java

    Ce qui donne cela : 

    On nous demande ensuite de définir une classe TemperatureAverage à l'intérieur du paquet d'exceptions.

    Elle contiendra le programme suivant : 

    package exceptions;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class TemperatureAverage {
    
    	/** affiche la température moyenne à partir des valeurs fournies comme arguments en ligne de commande
    	 *
    	 * @param args liste de températures séparées par des espaces
    	 */
    	public static void main(String[] args) {
    
    		List<Integer> recordedTemperaturesInDegreesCelcius = new ArrayList<Integer>();
    
    		// remplissez la liste à partir des valeurs fournies comme arguments en ligne de commande
    		for (String stringRepresentationOfTemperature : args) {
    			int temperature = Integer.parseInt(stringRepresentationOfTemperature);
    			recordedTemperaturesInDegreesCelcius.add(temperature);
    		}
    
    		// calculez et affichez la température moyenne
    		Integer averageTemperature = SimpleMaths.calculateAverage(recordedTemperaturesInDegreesCelcius);
    		System.out.println("The average temperature is " + averageTemperature);
    	}
    
    }

    Ce qui est fait une fois de plus à l'aide de la touche touch : 

    Le problème c'est qu'avec la commande java je n'arrive pas à créer une classe TemperatureAverage.

    Et par conséquent la suite de la leçon (utilisation d'autres commandes, etc) ne m'est pas accessible.

    Quelqu'un aurait-il une solution ? Une explication ?

    • Partager sur Facebook
    • Partager sur Twitter
      15 octobre 2021 à 5:33:28

      Bonjour,

      Tu confonds java et javac. Voilà la marche à suivre :

      • Tu écris tes classe dans des fichiers .java
      • Tu compiles tes fichiers à l'aide de javac. (javac avec un c comme compilateur)
      • Tu exécutes ton programme grâce à java (sans c)

      Pour compiler et exécuter, tu dois être à la racine de ton projet (dossier root).

      La commande javac compile un fichier. Elle prend comme argument le chemin du fichier (absolu ou relatif).

      Dans ton cas, ça va donner

      javac exceptions/TempertureAverage.java

      La commande java exécute une classe. Elle prend comme argument le nom complet de la classe à exécuter suivi des arguments que tu veux passer à ton programme. Attention, il s'agit bien du nom de la classe, pas du chemin du fichier .class. Le nom complet de la classe est composé du nom de package suivi d'un point suivi du nom de classe défini dans ton fichier .java.

      Dans ton cas, ça va donner
      java exceptions.TemperatureAverage 25 18 11 22




      • Partager sur Facebook
      • Partager sur Twitter
        15 octobre 2021 à 16:03:16

        Et bien décidemment Brubru777, c'est toujours toi qui résout mes problèmes.

        Dans tous les cas, merci BEAUCOUP ! 

        Encore une fois tu as résolu mon problème et il semblerait que cette-fois j'ai même compris la logique.

        • Partager sur Facebook
        • Partager sur Twitter

        Problème de compréhension du cours

        × 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