Java code

Modérateur : Michel Quercia

[Matthieu]
Messages : 64
Enregistré le : sam. juil. 22, 2017 9:15 pm
Classe : l1

Java code

Message par [Matthieu] » mar. oct. 24, 2017 9:14 pm

Encore moi,

j'aimerais receuillir, si possible, des pistes permettant d'afficher le nombre de chiffre distints d'un entier (exemple dans 14 on en a 2)

Comment pourrais je écrire le code correspondant ?

Lily1998
Messages : 224
Enregistré le : jeu. févr. 16, 2017 8:16 pm
Classe : PC*

Re: Java code

Message par Lily1998 » mar. oct. 24, 2017 9:42 pm

En Java je sais pas mais en Python on peut afficher len(str (nombre)), ou bien faire un programme à base de divisions par 10 il me semble.

[Matthieu]
Messages : 64
Enregistré le : sam. juil. 22, 2017 9:15 pm
Classe : l1

Re: Java code

Message par [Matthieu] » mar. oct. 24, 2017 9:59 pm

oui avant on me demandait de calculer le nombre d'éléments dans un entier, j'ai alors utilisé le log en base 10 mais je sais pas si c'est utile pour le deuxième

Errys
Messages : 179
Enregistré le : mer. oct. 04, 2017 3:58 pm
Classe : TS Spe math

Re: Java code

Message par Errys » mar. oct. 24, 2017 10:12 pm

En java tu peux facilement convertir un entier en chaîne de caractères avec: Integer.toString(number)

Ensuite, la meilleure méthode qui me vient à l'esprit serait d'utiliser un tableau de booléen avec une case par chiffre.

Comme ça, pour chaque chiffre de ta chaîne de caractères, si la case correspondante au chiffre est "vrai" tu fais rien, sinon, (si elle est fausse), tu la passes à "vrai" et tu incrémentes le nombre de chiffre unique par 1.

EDIT: si tu veux de l'aide pour le coder hésite pas.
Lycée 2015-2018
LLG MPSI 2018-2019

[Matthieu]
Messages : 64
Enregistré le : sam. juil. 22, 2017 9:15 pm
Classe : l1

Re: Java code

Message par [Matthieu] » mar. oct. 24, 2017 10:19 pm

ah oui je vois,
donc 1 er etape on crée la fonction booléan

puis le tableau avec les valeurs donc on aura un new vu que la taille est infinie

on rentre l'itération avec un for où on met l'intégration et la comparaison entre les deux caractères avec un if

ais je raison ?

Désolé pour le style décousu de mon message

[Matthieu]
Messages : 64
Enregistré le : sam. juil. 22, 2017 9:15 pm
Classe : l1

Re: Java code

Message par [Matthieu] » mar. oct. 24, 2017 10:20 pm

bon je rectifie, je ne pense pas que ce soit cette méthode que le prof veuille que j'utilise, dans le squelette il y a une fonction qui prend des entiers en paramètre

Errys
Messages : 179
Enregistré le : mer. oct. 04, 2017 3:58 pm
Classe : TS Spe math

Re: Java code

Message par Errys » mar. oct. 24, 2017 10:20 pm

Pour l'utilisation du logarithme en base 10 pour trouver le nombre de chiffre d'un entier, je trouve l'intérêt limité d'un point de vu apprentissage.

Je pense que en te demandant de faire ça, on voulait plutôt t'introduire à la notion de division successive par 10 et le fait que en Java, les divisions sont entières quand tu traites avec des int. Surtout si c'est un devoir...

Après, mon avis vaut ce qu'il vaut, je suis un simple lycéen ^^
Lycée 2015-2018
LLG MPSI 2018-2019

[Matthieu]
Messages : 64
Enregistré le : sam. juil. 22, 2017 9:15 pm
Classe : l1

Re: Java code

Message par [Matthieu] » mar. oct. 24, 2017 10:22 pm

c'est une préparation pour le tp de demain que je regarde avant mais je suis d'accord avec toi sinon

Errys
Messages : 179
Enregistré le : mer. oct. 04, 2017 3:58 pm
Classe : TS Spe math

Re: Java code

Message par Errys » mar. oct. 24, 2017 10:22 pm

Non ce n'est pas ce que je voulais dire.

1- tu convertis ton entier en une chaine de caractère
2- tu initialise un tableau de bool de taille 10 (1 case par chiffre existant donc)
3- pour chaque chiffre de ton nombre, tu vérifies si tu l'as déjà vu grace au tableau de booleen et si tu l'as pas encore vu, tu augmentes de 1 le nombre de chiffre distincts.

Tu peux aussi le faire sans conversion en string avec des divisions successives...
Lycée 2015-2018
LLG MPSI 2018-2019

[Matthieu]
Messages : 64
Enregistré le : sam. juil. 22, 2017 9:15 pm
Classe : l1

Re: Java code

Message par [Matthieu] » mar. oct. 24, 2017 10:39 pm

ok j'ai fait le tableau de bool maintenant il faut que je fasse la 3 eme etape, la plus compliquée.
Vu qu'au final on parle de n entier, comment je sépare chaque chiffre de mon nombre pour voir si ils sont les mêmes ou pas ?

Avatar du membre
fakbill
Messages : 11120
Enregistré le : mer. juil. 30, 2008 4:59 pm
Classe : Dr.-Ing

Re: Java code

Message par fakbill » mer. oct. 25, 2017 9:31 am

C'est le genre de questions douteuses.
Trouver le nombre de chiffres d'un entire...c'est soit le caster en chaine et c'est une question de java pure ou alors c'est écrire un algo avec des entiers (enfin algo est un grand mot...log10 est autorisé? si on se dit que "non" alors ça deviant ridicule et on en vient à faire des /10 en boucle...)

bref, la question est idiote.
Soit on pose une question de langage pure demandant comment on caste un int en chaine, soit on demande du pseudo code sur des entiers.
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

[Matthieu]
Messages : 64
Enregistré le : sam. juil. 22, 2017 9:15 pm
Classe : l1

Re: Java code

Message par [Matthieu] » mer. oct. 25, 2017 11:11 am

On avait même pas le droit au log et on doit le faire avec un tableau d'entiers de 1 à 10 et des modulo.

[Matthieu]
Messages : 64
Enregistré le : sam. juil. 22, 2017 9:15 pm
Classe : l1

Re: Java code

Message par [Matthieu] » mer. oct. 25, 2017 11:14 am

Le tableau de bool était la solution mais j'ai pas le droit de changer en chaîne de caractere

Errys
Messages : 179
Enregistré le : mer. oct. 04, 2017 3:58 pm
Classe : TS Spe math

Re: Java code

Message par Errys » mer. oct. 25, 2017 6:38 pm

Bonjour, dans ce cas là, des divisions successives par 10 suffiraient amplement pour cela :)
Lycée 2015-2018
LLG MPSI 2018-2019

Avatar du membre
fakbill
Messages : 11120
Enregistré le : mer. juil. 30, 2008 4:59 pm
Classe : Dr.-Ing

Re: Java code

Message par fakbill » jeu. oct. 26, 2017 12:44 pm

en ayant bien conscience que c'est un exo *idiot* et qu'on ne fait **jamais** ça en pratique.
Pas prof.
Prépa, école, M2, thèse (optique/images) ->ingé dans le privé.

Répondre

Qui est en ligne

Utilisateurs parcourant ce forum : Laotseu et 1 invité