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

Bloqué JAVA chaine de carac

Skywaaalker
Skywaaalker
Niveau 10
15 janvier 2018 à 23:45:56

Bonsoir,

Je voudrais quémander un peu d'aide ( pas qu'on fasse le truc à ma place ) mais qu'on me guide au niveau des Strings en Java en bon débutant que je suis[[sticker:p/1lmc]]

Je vous explique l'EXO :

J'ai créé un String alphabet ou je stock l'alphabet

A partir de ce string je dois créer une chaine de caractère contenant des lettre random*10 de la chaine Alphabet choisis au hasard et sans doublons

Jusque là pas de soucis [[sticker:p/1kkl]]

Puis là je bloque totalement : Je dois calculer combien de couple de lettre sont adjacent dans ma chaine que j'ai créer par rapport à l'alphabet
C'est à dire que si ma chaine généré c'est " ABCD " alors j'aurai deux couples qui se suivent dans ma chaine et dans la chaine Alphabet je dois afficher leurs positions et la distance qui les sépare [[sticker:p/1kks]]

Comment faire cela svp ?

Skywaaalker
Skywaaalker
Niveau 10
16 janvier 2018 à 00:05:09

Au pire je veux même bien payer quelqu'un pour le faire pour moi https://image.noelshack.com/fichiers/2017/16/1492605805-stickersystem32.png

AtmelAVR
AtmelAVR
Niveau 4
16 janvier 2018 à 01:42:21

Tu parcours la chaîne générée, et tu recherches dans l'alphabet l’occurrence de la sous-chaîne commençant au caractère courant et de taille 2 (que tu crées avec substring) avec indexOf [[sticker:p/1jnh]]
Et pour ton exemple avec "ABCD", on pourrait dire que tu as trois couples. Non ? "AB", "BC" et "CD". Ou alors faut vraiment prendre deux par deux à partir du début ?

Message édité le 16 janvier 2018 à 01:46:27 par AtmelAVR
Skywaaalker
Skywaaalker
Niveau 10
16 janvier 2018 à 04:37:55

Tu vas rire mais j'ai pas le droit d'utiliser indexOf https://image.noelshack.com/fichiers/2017/12/1490182124-larrychance.png

Bunyan
Bunyan
Niveau 17
16 janvier 2018 à 08:19:04

Solution basique me venant en tête : construit une Map<String, String> dont la clef est une lettre de l'alphabet selon une certaine casse et dont la valeur est la lettre suivante.

Si tu n'as pas le droit à indexOf, il va te falloir une variable tampon pour stocker la valeur précédente.
Pour chaque lettre L, tu vérifies si L est la suivante de L - 1 grâce à ta Map.
Attention aux index (cas de la première valeur).

arsh222
arsh222
Niveau 10
16 janvier 2018 à 16:56:10

Tu parcours ta chaîne et tu regardes si le code ascii de la lettre suivante est celui de la lettre précédente + 1
Pour connaître leur position dans la chaîne alphabet, ben sachant que 'A' est à la position zéro tu fais la lettre cherchée, moins A

for(i = 0; i < chaineAleatoire.length() - 1 ; i++){
  char c = chaineAleatoire.charAt(i);
  char d = chaineAleatoire.charAt(i+1);
  if(c + 1 == d) {
    System.out.println("paire trouvée : " + c + d
                         + ", position dans l'alphabet : " + (c - 'A'));
  }
}

À l'arrache, ça pourrait ressembler à ça https://image.noelshack.com/fichiers/2017/15/1491851452-villani-zepo.png

Message édité le 16 janvier 2018 à 17:00:45 par arsh222
Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment