Problème "NumberFormatExeption: null" sur Processing (Java)

Fermé
Xaun Messages postés 16 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 3 mai 2015 - Modifié par KX le 1/05/2015 à 22:42
Xaun Messages postés 16 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 3 mai 2015 - 3 mai 2015 à 16:03
Bonjour,
Comme écrit dans le titre, j'ai un problème avec mon programme de convertisseur binaire/décimale/hexadécimale que je dois faire pour la fin d'année.
Depuis plusieurs jours, j'essaie de faire les conversions Binaire>Décimale et Hexadécimale>Décimale mais dans grand succès ... Je pense être proche mais je rencontre toujours cette erreur ... Et je ne comprend vraiment pas pourquoi ... J'ai pourtant chercher sur internet mais c'est sans progrès.
Je m'en remet donc à vous pour m'aider à régler ce problème
Voici une capt d'écran pour illustrer

Merci d'avoir lu et merci d'avance si vous y répondez ^^

1 réponse

KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015
1 mai 2015 à 22:44
Bonjour,

Où est la variable hexadecimale ? Quelle est sa valeur ?
Quel est le code de la méthode unhex ?
0
Xaun Messages postés 16 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 3 mai 2015
Modifié par Xaun le 1/05/2015 à 23:18
Tout d'abord merci de t'intéresser à mon problème. ^^
Voilà des cpt d'écran avec TOUT le programme ( dans l'ordre depuis le début ). S'il te manque quoi que se soit comme information n'hésite pas à me demander, c'est la moindre des choses quand quelqu'un répond =)
- https://gyazo.com/7937858457e72ac0624b0cb29d26e18a
- https://gyazo.com/e304e497ec4249ae496edae1944b5147
- https://gyazo.com/751a57d8ef826da9032021136b7fc2e1
- https://gyazo.com/ad6638a310344a826fc202bca17c66e3
- https://gyazo.com/56ccf9445e7aa5d56698a4e0b89d4075

Et voilà à quoi ressemble mon programme actuellement. Au final je voudrai enlever le 'radiobutton' en bas et juste avoir à appuyer sur une touche pour que la conversion se fasse mais je rencontre des situations que je ne connais pas comme afficher les résultats dans les 'textfield' ... Sur internet il y a rien :/
- https://gyazo.com/d9c2a830fbf0c65f3d89d0f38e2c3b6b
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015 > Xaun Messages postés 16 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 3 mai 2015
1 mai 2015 à 23:34
Ce n'est pas du Java tout ça... qu'est-ce que c'est ?

De plus : ne mets pas ton code avec des impressions écrans sur des sites tiers.
D'une part si tu veux mettre des images, tu le fais depuis CommentCaMarche, c'est plus facile à lire et ça évite qu'elles soient perdues.
D'autre part si c'est pour mettre du code, tu fais un copier-coller, ça t'évite d'avoir à faire des captures d'écrans, et pour tester ou t'expliquer où est le problème ça nous permet de faire des copier-coller et te redonner le même code modifié.

Tout ça se passe ici :
0
Xaun Messages postés 16 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 3 mai 2015
Modifié par Xaun le 2/05/2015 à 00:09
D'accord, merci pour les conseils, je prend note ^^ C'est Processing (https://processing.org/ que j'utilise comme logiciel. C'est se qu'on utilise en 1ère STI2D SIN. Ce logiciel utilise le style Java. et voilà le code =)
import processing.video.*;
import controlP5.*;
ControlP5 cp5;
PFont font, mapolice;
String decimale="", hexadecimale, binaire, message, binD, binH, hexB, hexD, decB;
int D, B, H, value, i, decH=-1;
Movie myMovie;
RadioButton r;
PGraphics pg;
void setup()
{
  size(730, 400);
  rect(400, 280, 730, 400); //Position vidéo
  myMovie = new Movie(this, "biinaire.mov");
  myMovie.loop();

  size(800, 500);
  mapolice = loadFont("BatmanForeverAlternate-22.vlw"); // Chargement de la police
  textFont(mapolice, 18);

  cp5 = new ControlP5(this);

  cp5.addTextfield("binaire")
    .setPosition(150, 100)
      .setSize(300, 40)
        .setFont(mapolice)
          .setFocus(true)
            .setColor(color(#00B0FF));


  cp5.addTextfield("decimale")
    .setPosition(170, 200)
      .setSize(300, 40)
        .setFont(mapolice)
          .setFocus(true)
            .setColor(color(#00B0FF));


  cp5.addTextfield("hexadecimale")
    .setPosition(230, 300)
      .setSize(300, 40)
        .setFont(mapolice)
          .setFocus(true)
            .setColor(color(#00B0FF));

  r = cp5.addRadioButton("radioButton")
    .setPosition(120, 400)
      .setSize(300, 50)
        .setColorForeground(color(#00FFF0))
          .setColorActive(color(#00FFF0))
            .setColorLabel(color(#00FFF0))
              .setItemsPerRow(3)
                .setSpacingColumn(150)
                  .addItem("", 1)
                    .activate(1);
}

void draw()
{
  background(#393B3B); // Fond couleur gris
  fill(#00FFF0);
  strokeWeight(2); //Contour rectangle beige
  message=("Projet première STI2D SIN");
  text(message, 250, 40);
  message=("2015");
  text(message, 390, 60);
  fill(#202121);//Couleur gris sombre rectangle convertisseur
  rectMode(CENTER);// Rectangle convertisseur
  rect(400, 280, 730, 400);
  fill(#00FFF0);
  message=("Binaire >");
  text(message, 45, 125);
  message=("Decimale >");
  text(message, 45, 225);
  message=("Hexadecimale >");
  text(message, 45, 325);
  message=(">>>");
  text(message, 75, 430);
/*

  //if (r.value()==1)//Si on clique sur le bouton 
  // {  
  //Decimale > Binaire
  D=int(decimale);
  binD=(binary(D, 8)); 
  println(decimale);
  println(binD);
  println(D);

  //Decimale > Hexadecimale
  D=int(decimale);
  hexD=(hex(D));  
  println(decimale);
  println(hexD);
  println(D);

  //Hexadecimale > Decimale
  String H = hexadecimale;
  int decH = unhex(H);
  println(hexadecimale);
  println(decH);
  println(H);


  //Binaire > Decimale
  String B = binaire;
  int decB = unbinary(B);
  println(binaire);
  println(decB);
  println(B);
  //  }
  */

  tint(255, 25);
  image(myMovie, 35, 80, 730, 400);
}

void movieEvent(Movie m) 
{
  m.read();
}
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 3 015 > Xaun Messages postés 16 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 3 mai 2015
2 mai 2015 à 00:22
"Ce logiciel utilise le style Java."
On en est très loin...

Pour en revenir à ma toute première intervention :

"Où est la variable hexadecimale ?"
C'est bon je l'ai trouvé, même si elle n'a rien à faire là (en tout cas pas en Java).

"Quelle est sa valeur ?"
J'ai l'impression que c'est bien là le problème, elle n'en as pas... d'où l'erreur au moment de s'en servir.

"Quel est le code de la méthode unhex ?"
Je ne l'est toujours pas, je ne peux pas savoir d'où vient exactement le NumberFormatException...
0
Xaun Messages postés 16 Date d'inscription vendredi 1 mai 2015 Statut Membre Dernière intervention 3 mai 2015 > KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024
2 mai 2015 à 00:28
... Je t'assure que nous apprenons à nous servir de ce langage depuis maintenant 9 mois et c'est bien un style ( surement éloigné ) du Java actuel, enfin là n'est pas la question ^^ Pour le code de la méthode je pense que tu veut dire une exemple ? Je te donne donc l'exemple que j'utilise ( plus ou moins, plus moins ).

unhex() --> Pour Hexadecimale vers Décimale
String hs = "FF006699";
int hi = unhex(hs);
fill(hi);
rect(30, 20, 55, 55);

Et voici le lien : https://processing.org/reference/unhex_.html

unbinary() --> Pour Binaire vers Décimale
String s1 = "00010000";
String s2 = "00001000";
String s3 = "00000100";
println(unbinary(s1));  // Prints "16"
println(unbinary(s2));  // Prints "8"
println(unbinary(s3));  // Prints "4"

Lien : https://processing.org/reference/unbinary_.html
0