Bonjour, je dois réaliser un programme qui va demander à l'utilisateur une lettre et qui va lui donner son code en ASCII, mais je ne suis qu'en première année de programmation et j'aurais besoin d'aide, voici ce que j’ai déjà fait. N'hesitez pas à me signaler mes erreur ou me donner des conseils.
import javax.swing.*;
public class app3{
public static void main(String[] args){
String a = JOptionPane.showInputDialog(null,"quelle lettre faut-il convertir ?");
String b = Integer.parseInt (a);
int ia = (int)b;
System.out.println("code ascii de "+ia+" = "+(char)ia+"");
On est sur le forum C++, je craint que les réponses apportées ici ne soit pas satisfaisantes pour un programme Java.
Les codes ASCII ne sont ni plus ni moins que la représentation numérique des caractères. Leur affichage peut être extrêmement simple (du moins en C++). Exemple ci dessous: affichage des codes ASCII d'une chaine sous forme hexadécimale
#include <string>
int main()
{
using std::cout;
using std::hex;
using std::endl;
string str = "Une chaine";
for(int i=0; i<str.length(); ++i)
cout << hex << str[i] << endl;
}
Merci pour la réponse mais le problème est que je ne connais pas toutes ces notion de #include, std:: ,... Je ne suis qu'en première année et je suis plutôt mauvais en plus donc j'aurais besoin de quelque chose de plutôt basic, mais merci quand même
Même si hex est utilisé, ce seront des caractères qui seront affichés. Il faut effectuer un cast. (Je ne mentionnerais pas non plus des #include et std:: manquants :p)
#include <iomanip>
#include <iostream>
#include <string>
int main() {
std::string str = "Une chaine";
std::cout << std::uppercase << std::hex; // code hexadécimal avec majuscules (commenter cette ligne pour de l'ASCII)
for(auto ch : str) // range-for C++11
std::cout << static_cast<int>(ch) << ' ';
std::cout << std::endl;
return 0;
}
En effet, je n'était pas sûre de mon coup pour le transtypage, merci.
Quand aux std:: manquants, c'est pour cela que j'ai utilisé les instructions using (il manque quand même un using std::string; ou déclarer ma variable avec std::string str = "Une chaine"; ou std::string str("Une chaine"); ou std::string str{"Une chaine"};)
public static void main(String[] args) {
//On initialise tout le matos a input
Scanner sc = new Scanner(System.in);
System.out.print("Input à convertir : ");
String str = sc.nextLine();
//on converti le string récolté en char
char c = str.charAt(0);
//on affiche le char. Ca marche sans le cast, mais je l'ai mis pour comprendre
System.out.println("Résultat ascii : " + (int) c);
}
EDIT: Ce n'est pas optimisé et pas sécurisé mais tu comprends l'idée je pense.
- Edité par arno21 24 août 2015 à 16:42:25
Mon projet: SpotRoom. N'hésites pas à passer dire ce que tu en penses !
Codage ASCII
× 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.
Mon projet: SpotRoom. N'hésites pas à passer dire ce que tu en penses !