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

Langage Java Discussion :

Convvertir int32 en chaîne de 4 char


Sujet :

Langage Java

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2022
    Messages : 1
    Points : 2
    Points
    2
    Par défaut Convvertir int32 en chaîne de 4 char
    Solution :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Scanner scanner = new Scanner(System.in);
    int input = scanner.nextInt();
    String n = String.format("%32s", Integer.toBinaryString(input)).replace(' ', '0');
    StringBuilder a = new StringBuilder();
     
    for (int i = 0; i < 4; i++) {
      a.append((char) Integer.parseInt(n.substring(i * 8, i * 8 + 8), 2));
    }
    System.out.println(a.toString());
    scanner.close();

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 567
    Points : 21 633
    Points
    21 633
    Par défaut
    Mouais.

    En admettant qu'il y ait un moyen utile de convertir un int en 4 charactères, ça me semble un peu tarabiscoté.

    J'aurais plutôt fait quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Scanner scanner = new Scanner(System.in);
    int n = scanner.nextInt();
     
    char[] chars = new char[4];
    for(int i = 0; i < 4; i++) {
        int shift = 4 - i - 1;
        int b = (n >> shift) & 0xff;
        chars[i] = (char)b;
    }
    String s = new String(chars);
    System.out.println(s);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/07/2007, 00h15
  2. Réponses: 3
    Dernier message: 02/07/2003, 17h24
  3. [PostgreSql] Problème de cadreage de char !!!
    Par moipastoi dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/05/2003, 19h01
  4. Réponses: 6
    Dernier message: 24/03/2003, 18h11
  5. Traitement d'un char* renvoyé par une DLL en C++
    Par LuluTchab dans le forum Langage
    Réponses: 4
    Dernier message: 22/03/2003, 22h48

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