Problème d'affichage de résultat
ArmandAs_1998
Messages postés
16
Date d'inscription
Statut
Membre
Dernière intervention
-
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
KX Messages postés 16761 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je ne sais pas pourquoi mon programme n'affiche pas les chiffres parmi une chaine de caractère pour les mettre dans un tableau d'entiers. Le voici.
Merci.
Je ne sais pas pourquoi mon programme n'affiche pas les chiffres parmi une chaine de caractère pour les mettre dans un tableau d'entiers. Le voici.
import java.util.Scanner; public class TD5_ex1 { public static void main(String[] args) { String ch ; Scanner s = new Scanner(System.in); System.out.println("Entrer la chaine: "); ch=s.nextLine(); int i =0, j=0; int []tab= new int[ch.length()] ; while (i<ch.length()-1 && j<tab.length) { tab[j]=(int)(ch.charAt(i)); } System.out.println(tab[j]);
Merci.
A voir également:
- Évariste souhaite télécharger le logiciel mozilla firefox depuis le site de son éditeur. sélectionnez le résultat de recherche sur lequel il doit cliquer.
- Site de telechargement - Accueil - Outils
- Télécharger mozilla firefox - Télécharger - Navigateurs
- Télécharger clavier arabe - Télécharger - Divers Web & Internet
- Logiciel de sauvegarde gratuit - Guide
- Site comme coco - Accueil - Réseaux sociaux
2 réponses
Bonjour,
Ta boucle tourne en rond, tu n'incrémentes jamais ni i, ni j, donc le programme n'arrive jamais jusqu'à l'affichage.
Remarque : tu n'as pas besoin de passer des caractères dans un tableau d'entier pour les convertir, tu peux les afficher tels quels...
Ta boucle tourne en rond, tu n'incrémentes jamais ni i, ni j, donc le programme n'arrive jamais jusqu'à l'affichage.
Remarque : tu n'as pas besoin de passer des caractères dans un tableau d'entier pour les convertir, tu peux les afficher tels quels...
while (i < ch.length()) { System.out.println((int) (ch.charAt(i))); i++; }
Moi, lorsque je fais entrer la chaine: 123, ça me donne: 4950.
Avec ton code et ta modif je tapes 123 et ça me donne bien 495051.
(Je n'ai rien changé à part les deux accolades qui manquaient à la fin...)
Remarque :
Vu que l'on a
(Je n'ai rien changé à part les deux accolades qui manquaient à la fin...)
import java.util.Scanner; public class TD5_ex1 { public static void main(String[] args) { String ch ; Scanner s = new Scanner(System.in); System.out.println("Entrer la chaine: "); ch=s.nextLine(); /* int i =0, j=0; int []tab= new int[ch.length()] ; while (i<ch.length()-1 && j<tab.length) { tab[j]=(int)(ch.charAt(i)); } System.out.println(tab[j]); */ int i =0; int []tab= new int[ch.length()] ; while (i<ch.length() && i<tab.length) { tab[i]=(int)(ch.charAt(i)); System.out.print(tab[i]); i++; } } }
Remarque :
&& i<tab.lengthest inutile.
Vu que l'on a
tab.length == ch.length()alors
i<ch.length()suffit.
Merci ça ne marche pas.