CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[Java] La touche finale, mais how ?

ScientificBird
ScientificBird
Niveau 9
27 octobre 2014 à 14:50:28

Bien le bonjour, il y a quelques jours j'avais demandé quelques conseils au sujet d'un programme java permettant un changement de base pour une valeur entrée par l'utilisateur.

Finalement suite à quelques recherches, j'ai choisit de faire un changement de la base 16 à la base 2, celle-ci étant plus simple que les autres. Je précise que c'est pour l'option ISN du lycée, je suis censé utiliser Javascool, un truc simpliste et vide.

Je le fais sur Eclipse car je suis bien plus à l'aise dessus mais tôt ou tard il me faudra le retranscrire sous Javascool, donc je suis forcé de passer par des trucs bien plus longs que d'habitude...(l'objet List me manque :snif: ).

Voici le code : http://pastebin.com/Hznwxv2F

Je ne cherche qu'à utiliser des instructions basiques, que je suis sur de faire fonctionner sous Javascool. Donc pas de POO ou d'import (en dehors de scanner qui a une autre syntaxe sur Javascool) ou de méthodes ou autre, là, c'est purement tableaux + boucles.

L'user entre sa valeur Hexadecimal de façon séquentielle. Ensuite, chaque therme est lié à une valeur en binaire. J'aimerai savoir comment, via disons, une variable String affiche, récupérer chaque résultat en binaire et les faire afficher les une à la suite des autres une fois que l'user tape "STOP".

Voilà deux jours que je retourne mon prog dans tous le sens sans savoir comment faire. Mes tentatives se soldent toujours par une erreur de taille du tableau. Je ne sais pas si je suis clair, à vous de me le dire ! En vous remerciant d'avance si vous acceptez de m'aider ! :)

Kwaki-crap
Kwaki-crap
Niveau 10
27 octobre 2014 à 17:49:49

https://image.noelshack.com/fichiers/2014/44/1414428413-hexa.png

Tu voudrais faire un truc comme ça en fait ?

Si oui, regarde à la ligne 29, ton tableau Hexa est écrasé par les valeurs du tableau binaire alors que ces tableaux ne doivent pas être modifiés.

Le truc c'est de prendre un autre tableau et de le remplir au fur et à mesure avec tes valeurs en binaire.

Donc que ton tableau affiche soit égal à binaire[i]

Et après tu parcoure ton tableau affiche[] en l'affichant à la fin :noel:

FortCommeMeric
FortCommeMeric
Niveau 10
27 octobre 2014 à 17:50:05

Tu déclare une variable string qui sera le "résultat" de la conversion, on va dire que cette variable s'appelle result.

Au début du programme result est vide, et à chaque fois que l'utilisateur entre un caractère hexadécimal valable (ligne 29) t'as juste à ajouter l'équivalent binaire de ce caractère à la fin de result (concaténation), je pense que ça dois ce faire comme ça en java : result += binaire[i];

Et ensuite quand tu sors de la boucle principale tu peux afficher result.

ScientificBird
ScientificBird
Niveau 9
27 octobre 2014 à 19:01:17

Les mecs, vous êtes des héros. Je vais essayer ça de suite.
Par contre j'en profite pour soulever un autre petit truc : Je vois souvent cette syntaxe justement "result += binaire[i];"

Sauf que moi, peu importe la situation, Eclipse dérecte une erreur de syntaxe pour "+=", il ne comprend pas ce que c'est. On pourrait m'expliquer dans quelles circonstances ça s'utilise ? :doute:

ScientificBird
ScientificBird
Niveau 9
27 octobre 2014 à 19:22:36

Ah et, j'ai donc déclarer un nouveau tableau affiche, il est égale à mon tableau binaire dans ma condition if, puis j'ai mis en place une boucle for pour le parcourir et le lire dans ma condition else if.

Sauf que ça me donne des null :(
Sans boucle for, je ne vois pas comment le parcourir ?

Kwaki-crap
Kwaki-crap
Niveau 10
27 octobre 2014 à 19:32:54

Utilise plutôt la solution de FortCommeMeric qui est d'utiliser un String. N'utilise pas un tableau de String, c'est beaucoup moins bien pour ce que tu veux faire :hap:

Tu définis une String result = ""; (tu l'initialise quoi)
Ensuite dans ton programme tu rajoute le binaire rentrée:
result += binaire[i];

Ou

result += binaire[i]+" "; Si tu veux un espace entre chaque

Et tu l'affiche :hap:

C'est quoi le message d'erreur pour += ? C'est bizarre j'ai jamais eu ce problème :(

ScientificBird
ScientificBird
Niveau 9
27 octobre 2014 à 19:51:02

Ok, sujet clos ! Merci vous deux, je vais pouvoir arrêter de ruminer là dessus jusqu'à 3h00 la nuit :rire:
Me reste plus qu'à remettre tout ça sous cette connerie de javascool en espérant que le truc ne soit pas con au point de ne pas comprendre equals().

C'est bon pour +=, j'ai remarqué que c'est uniquement parce que je mettais un espace entre le + et = qu'Eclipse étant en mode Da fuq. Erreur de ma part.

Encore une fois merci, bonne soirée ! :)

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment