Partage
  • Partager sur Facebook
  • Partager sur Twitter

demande d'aide

programmation java

    3 décembre 2018 à 19:09:40

    bonjour quelqu'un peut m'aider sur ce problem svp

    je veux recuperer les valeurs numeriques  données par l'utilisateur dans un tableau  puis afficher la somme

    int k,n,nombresaisi;
     
    double tab1[];
     
    System.out.println("combien de nombres voulez vous additionner");
     
    n=sow.nextInt();
     
    System.out.println("donner ces nombres");
     
    do {
    k=0;
    nombresaisi=sow.nextDouble();
     
    tab1[]=nombresaisi;
    k++;
    }while(k<=n);
    }
     
    //je fais appel a la fonction sometab1 por afficher le resultat
    System.out.println(sometab1(tab1[]));
     
    //definition de la methode qui permet de parcourir le tableau  et de faire la somme de son continu
     
    public static double sometab(int[]tableau) {
    double som=0;
    for(int i=0;i<=tableau.length;i++) {
    som=som+tableau[i];
    }
    return som;
    }

    j'ai toujours une erreurs à ce niveau  (sometab1(tab1[])) et tab1[]=nombresaisi; en me disant que je doit creer un interface ou une methode sometab1(Class<tab1[]>;)

    je suis debutant

    -
    Edité par Benzouye 4 décembre 2018 à 18:16:06

    • Partager sur Facebook
    • Partager sur Twitter
      3 décembre 2018 à 19:58:37

      Salut. C'est illisible, utilises la balise de code s'il te plait (bouton </> de l'éditeur).
      • Partager sur Facebook
      • Partager sur Twitter
        3 décembre 2018 à 20:35:44

        Bonjour,

        Le nom du tableau, c'est tabl, pas tabl[].

        En passant, en Java, on écrit plutôt

        double[] tabl;

        double tabl[], c'est une notation qui a été gardée au début de Java car sa syntaxe était inspirée du C mais la philosophie de Java, c'est plutôt d'écrire typeDeVariable nomDeVariable. Ici, le nom est tabl et le type est un tableau de doubles : double[].

        • Partager sur Facebook
        • Partager sur Twitter
          4 décembre 2018 à 16:17:47

          do {
          k=0;
          nombresaisi=sow.nextDouble();
          tab1[]=nombresaisi;
          k++;
          }while(k<=n);
          }

          Tout plein de commentaires sur cette partie la.

          Déjà, il y a une "}" en trop. Donc à moins d'un fail de copier coller ou d'une fermeture de je sais pas quoi dont on ne voit pas l'ouverture, ca ne devrait pas compiler.

          => k=0; et k++;

          A chaque itération de ta boucle, tu remets ton k à 0. Pour ensuite, dans la même itération, lui rajouter 1. k vaut donc 1.

          Ton k<=n de ton while sera toujours à true car à ce moment, ton k vaudra toujours 1. Il faut donc init ton k=0 avant l'entrée dans la boucle.

          => tab1[] = nombresaisie;

          tab1[], c'est un tableau d'entier. Alors que nombresaisie, c'est un entier. Tu ne peux pas dire que ton tableau est égal à un entier. Le type est différent.

          je me doute que tu veux affecter ta valeur dans une des cases du tableau, donc il faut faire un truc comme :

          tab1[0] = nombresaisie; Avec 0 l'index de ton tableau.

          J'ai zappé volontairement certaines erreurs que tu devrais voir apparaître quand tu auras déjà corrigé cette partie la.

          -
          Edité par Tiffado 4 décembre 2018 à 16:18:42

          • Partager sur Facebook
          • Partager sur Twitter

          demande d'aide

          × 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