Opérations sur un entier "découpé" [Résolu]

Nikow54 8 Messages postés mardi 2 mars 2010Date d'inscription 19 mai 2011 Dernière intervention - 23 avril 2010 à 17:32 - Dernière réponse : Ebnou* 1 Messages postés samedi 2 janvier 2016Date d'inscription 2 janvier 2016 Dernière intervention
- 2 janv. 2016 à 23:19
Bonjour,
je bloque un peu au niveau de mon programme, j'entre un mot au clavier : ici par exemple HELLO et mon programme me retourne mon mot caractère par caractère en ASCII, pile poil ce que je voulais ...

HELLO ===> 72 69 76 76 79

j'obtiens donc 5 blocs d'entiers correspondant à mes 5 caractères.
A présent j'aimerais effectuer une opération, peu importe laquelle (disons multiplier par 2) sur chacun de ces blocs d'entier mais je vois pas comment ^^'

Quelqu'un pourrait il éclairer ma lanterne ?


Cordialement Nikow54'.
Afficher la suite 

12 réponses

Répondre au sujet
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 23 avril 2010 à 20:42
+3
Utile
Salut,

Utilise un split :

String taChaine = "52 48 17 49";
String[] taChaineDecoupee = taChaine.split(" ");

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 24 avril 2010 à 15:20
+3
Utile
Salut,

Il te faut les parser pour avoir des entiers :

String taChaine = "52 48 17 49";
String[] taChaineDecoupee = taChaine.split(" ");
for (int i = 0; i < taChaineDecoupee.length; i++) {
  taChaineDecoupee[i] = new Integer(Integer.valueOf(taChaineDecoupee[i]) * 2).toString();
}


______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 24 avril 2010 à 21:27
+3
Utile
Salut,

((char) 97) doit te renvoyer le caractère normalement.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_DARKSIDIOUS
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 23 avril 2010 à 18:16
0
Utile
Salut,

Montre nous ton code déjà.
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Nikow54 8 Messages postés mardi 2 mars 2010Date d'inscription 19 mai 2011 Dernière intervention - 23 avril 2010 à 19:05
0
Utile
1
static void StringToAscii(){

Scanner sc1 = new Scanner(System.in);
String str = sc1.nextLine();

for(int m=0;m<str.length();m++) {

char oo=str.charAt(m);
System.out.print((int)oo+" ");

}
}



Voici ma méthode qui traduit mon mot en bloc d'entiers, ensuite il faudrait que j'applique une opération à chacun de ces blocs ...
Ebnou* 1 Messages postés samedi 2 janvier 2016Date d'inscription 2 janvier 2016 Dernière intervention - 2 janv. 2016 à 23:19
salut j'ai le méme probleme si vous avez la solution s'il vous plais aidez moi
Commenter la réponse de Nikow54
cs_DARKSIDIOUS 15838 Messages postés jeudi 8 août 2002Date d'inscription 4 mars 2013 Dernière intervention - 23 avril 2010 à 19:13
0
Utile
Salut,

Ben tout simplement :
static void StringToAscii(){ 

Scanner sc1 = new Scanner(System.in); 
String str = sc1.nextLine(); 

for(int m=0;m<str.length();m++) { 

char oo=str.charAt(m); 
System.out.print(((int)oo * 2)+" "); 

} 
} 

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Commenter la réponse de cs_DARKSIDIOUS
Nikow54 8 Messages postés mardi 2 mars 2010Date d'inscription 19 mai 2011 Dernière intervention - 23 avril 2010 à 20:14
0
Utile
Oui dans ce cas, pas de problème mais en fait il s'agit du système RSA que j'essaye par moi même de transcrire en JAVA, ce programme me donne un entier "découpé" par bloc comme ci dessus auquel j'applique une opération comme tu l'as fais ci dessus.
Mais le problème se pose pour le déchiffrement quand j'ai cet entier découpé et que j'aimerais effectuer une opération sur chacun de ces blocs ... n'y a t'il pas un moyen de parcourir l'entier et de s'arrêter à chaque espace ou une autre astuce ?

Nikow'
Commenter la réponse de Nikow54
Nikow54 8 Messages postés mardi 2 mars 2010Date d'inscription 19 mai 2011 Dernière intervention - 23 avril 2010 à 20:43
0
Utile
Merci :)
Commenter la réponse de Nikow54
Nikow54 8 Messages postés mardi 2 mars 2010Date d'inscription 19 mai 2011 Dernière intervention - 24 avril 2010 à 15:16
0
Utile
Le petit soucis c'est qu'au moment de faire ma multiplication il ne peut pas car le premier "bloc" ou encore la première case du tableau est de type String :/
Commenter la réponse de Nikow54
Nikow54 8 Messages postés mardi 2 mars 2010Date d'inscription 19 mai 2011 Dernière intervention - 24 avril 2010 à 20:17
0
Utile
Et pour ce qu'il s'agit de passer d'un entier exemple 97 à son équivalent en ASCII dans ce cas "a" comment fais t on , tu as une petite idée :p ?
Commenter la réponse de Nikow54
Nikow54 8 Messages postés mardi 2 mars 2010Date d'inscription 19 mai 2011 Dernière intervention - 24 avril 2010 à 23:11
0
Utile
Cool merci bien pour tout bonne soirée :D
Commenter la réponse de Nikow54

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.