IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Programme basique - problème


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Futur développeur android
    Inscrit en
    Décembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Futur développeur android
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2017
    Messages : 15
    Par défaut Programme basique - problème
    Bonjour à tous !
    Je suis en train d'apprendre les tableaux en ce moment, j'ai fait un petit programme à partir de tout ce que j'ai appris jusqu'à maintenant, mais je crois qu'il y a beaucoup de choses encore que je ne maîtrise pas, la preuve mon programme marche pas ..
    Pouvez m'aider s'il vous plaît ? Et me dire ce qu'il faut que je travaille
    Mon programme est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    import java.util.Scanner;
     
    public class Tableau1 {
     
    	public static void main(String[] args) {
     
    		char reponse = 'O', c = ' ';
    		char carac[] = {'a','b','c','d','e','f','g','h'};
    		Scanner sc = new Scanner(System.in);
     
    		while (reponse == 'O') {
    		System.out.println("Inscrivez une lettre de l'alphabet");
    		c = sc.nextLine().charAt(0);
     
    		for(int i = 0; i < carac.length; i++)
     
    		if (c < carac.length )
    			System.out.println("La lettre fait partie de la liste");
    		else
    			System.out.println("La lettre ne fait pas partie de la liste");
     
    		while (reponse != 'O' && reponse != 'N') 
    		{
    				System.out.println("Voulez-vous réessayer ? (O/N)"); 
    		        reponse = sc.nextLine().charAt(0);
    		}}
    		 System.out.println("Au revoir !");
     
     
    	}
     
    }

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Hello,

    quand on est débutant, il n'y a pas de point bien précis à travailler, les "évidences" s'imposent à nous une par une, à leur rythme. La seule chose à faire est de continuer à pratiquer pour accumuler le plus de choses qu'on a fini par comprendre.

    Dans le cas de ton programme, pourrais-tu nous parler de cette ligne, de ce qu'elle fait et comment fait-elle cela au juste :

    Notamment, que représente c, que représente carac.length, qu'est-ce que le symbole <, et y a-t-il vraiment un sens à comparer ces deux choses ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je vais moi aussi me mettre à Java le mois prochain.
    Pour ta boucle j'utiliserais plutôt un do {} while () vu que tu passes forcément dedans au moins une fois.

    Après tu compares la longueur du tableau (8) au caractère saisi par l'utilisateur.
    Il faudrait comparer carac[i] == c dans ta boucle, j’utiliserai la aussi une autre boucle, le while avec un boolean qui serait le résultat de la comparaison précédente. Si le resultat du boolean est true tu affiches que c'est bon sinon le message comme quoi il est pas présent dans la tableau.

    Sinon je suppose qu'il existe simplement un indexOf(c) == -1 pour savoir si l'item est présent dans la liste ou non.

    Après peut être que je me trompe

  4. #4
    Membre averti
    Homme Profil pro
    Futur développeur android
    Inscrit en
    Décembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Futur développeur android
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2017
    Messages : 15
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Hello,

    quand on est débutant, il n'y a pas de point bien précis à travailler, les "évidences" s'imposent à nous une par une, à leur rythme. La seule chose à faire est de continuer à pratiquer pour accumuler le plus de choses qu'on a fini par comprendre.

    Dans le cas de ton programme, pourrais-tu nous parler de cette ligne, de ce qu'elle fait et comment fait-elle cela au juste :

    Notamment, que représente c, que représente carac.length, qu'est-ce que le symbole <, et y a-t-il vraiment un sens à comparer ces deux choses ?
    Bonjour Thelvin !
    "c" correspond à une lettre saisi par l'utilisateur, que je stocke avec scan, et carac.length (si j'ai bien compris) englobe toute les données de mon tableau
    Ensuite je vois si la lettre saisie par l'utilisateur fait partie de mon tableau avec la condition de if (c < carac.length) mais en effet je vois pas pourquoi j'ai mis strictement inférieur, je pense maintenant qu'il faut plutôt mettre if (c == carac.length)

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Tu veux donc dire que tu veux vérifier si c est égal à une chose précise (et non pas, donc, inférieur à.)

    Hum. Je ne sais pas, mais, a priori, je dirais qu'une lettre, ne peut pas être égale à "un ensemble de lettres englobées". Ça ne marchera pas non plus, n'est-ce pas ?
    Mais en fait, carac.length, ce n'est pas "quelque chose qui englobe les données de ton tableau" (ça me semble d'ailleurs bien vague comme chose à avoir dans un programme.)

    Dans cette ligne : for(int i = 0; i < carac.length; i++), tu es sûr que carac.length n'a pas l'air d'être autre chose ? Tu dirais qu'elle fait quoi et comment, cette ligne ?

    D'ailleurs, parlons un peu anglais : ça veut dire quoi, "length" ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre averti
    Homme Profil pro
    Futur développeur android
    Inscrit en
    Décembre 2017
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Futur développeur android
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2017
    Messages : 15
    Par défaut
    Oui en effet "c" est en doublon, j'ai donc remplacé le nom de la variable "c" de type char par "lettre"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     for(int i = 0; i < carac.length; i++)
    pour ce qui est de cette ligne, si j'ai bien compris, "i" correspond à un indice du tableau, l'indice commençant par zéro, je l'initialise donc à zéro d'où et si je comprends bien, par exemple : i = 2 correspond à "c" la troisième valeur en partant de zéro
    Et ce qui du je pense que ça correspond à la longueur de mon tableau ici "carac", soit les 8 valeurs (en partant de 0 jusqu'à 7) : a,b,c,d,e,f,g,h
    Voilà et la condition tant que i est strictement inférieur à 8 recommencer la boucle en rajoutant la valeur au dessus à chaque fois avec l'incrémentation "i++"

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 585
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 585
    Par défaut
    Oui carac.length c'est la longueur de ton tableau et c c'est une lettre.

    Et donc, "une lettre" "inférieure à" "la longueur d'un tableau", ou alors
    "une lettre" "égale à" "la longueur d'un tableau"
    ça veut dire... Euhmm. Tu es sûr que ça veut dire quelque chose ? Tu pourrais nous expliquer ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Programme C problème
    Par rexona dans le forum Débuter
    Réponses: 2
    Dernier message: 05/12/2010, 02h15
  2. Besoin d'aide - programmation basique
    Par Mr_Trickster dans le forum Langage
    Réponses: 3
    Dernier message: 10/11/2008, 08h41
  3. Réponses: 12
    Dernier message: 07/08/2008, 10h06
  4. Réponses: 3
    Dernier message: 09/04/2008, 12h18
  5. [DEBUTANT] Programme basique
    Par mikysett dans le forum Langage
    Réponses: 25
    Dernier message: 18/11/2007, 15h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo