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 : Recherche une méthode

Simbra
Simbra
Niveau 18
13 mai 2014 à 20:43:40

Bonjour à tous et à toutes !

Pour mon projet, je suis amené à rentrer des arguments dans ma classe main et doivent respecter un certain format :

D'abord le nom d'un fichier avec son extension : fichier.extension, ensuite juste l'extension en majuscule : EXTENSION

Une des règles imposé par l'énoncé est de traiter le cas d'erreur suivant : si jamais la chaine de caractère après le . n'est pas le même que le second argument, le programme doit déclarer une erreur.
Par exemple : Lion.png PNG ne renvoie pas d'erreur mais Lion.png JPEG doit en renvoyer une ...

Ma question est donc la suivante : y a t'il une méthode permettant de récupérer les caractères après le . ?

Car je sais qu'il existe une méthode permettant de scinder un string en indiquant un int qui correspond au caractère de cassure, mais cette méthode nécessite de connaitre déjà le String de départ, alors que mes fichiers peuvent varier à chaque fois ...

Merci d'avance !

Bunyan
Bunyan
Niveau 17
13 mai 2014 à 20:51:09

String#split ?
http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#split%28java.lang.String,%20int%29
En faisant attention à ce qu'est un "." dans ce contexte :)

Sinon, String#lastIndexOf : http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#lastIndexOf%28int%29
avec un p'tit substring

Simbra
Simbra
Niveau 18
13 mai 2014 à 20:59:08

Super ! Merci beaucoup ! :D

Odvie
Odvie
Niveau 10
14 mai 2014 à 18:29:40

Pense à verifier que lasIndexOf te renvoie autre chose que 0, des fois qu'un petit malin (genre ton correcteur) ne passe pas un des deux paramètres requis.

Odvie
Odvie
Niveau 10
14 mai 2014 à 18:30:17

+ si tu comptes faire de la prog pendant un moment, met ce site en fav.
http://stackoverflow.com/questions/3571223/how-do-i-get-the-file-extension-of-a-file-in-java

Gleuh
Gleuh
Niveau 10
14 mai 2014 à 19:17:55

Au pire ce sue tu peux faire c'est prendre le deuxieme argument, puis apres tu fsit un truc du genre : if (arg2.equalsIgnoreCase (arg1.substring (arg1.length - arg2.length , arg1.length)) si tu vois ce sue je veux dire ?

LEpigeon888
LEpigeon888
Niveau 10
14 mai 2014 à 20:10:54

Solution bof, tu pourrais faire "fichier.extension ier.extension", c'est pas du tout ce que l'auteur veut :oui:

shinigota
shinigota
Niveau 10
14 mai 2014 à 21:03:56

Tiens l'auteur, petite astuce :
Quand tu codes, pense à utiliser l'auto complétion, ctrl+espace sur netbeans, et sur eclipse j'crois c'est pareil mais j'ai un doute, c'est devenu un reflex :hap:
Quand tu commences à écrire un truc, ça va te proposer la suite, genre si le début de ce que t'as écrit est le même qu'une méthode ou variable, ça va te la proposer.

Et du coup, par exemple si tu fais System.in. et ctrl+espace ça va te proposer toutes les méthodes associées à System.out. avec les explications et tout !
Et après avec l'habitude, tu te dis, tiens j'veux voir si y'a un moyen de récup ce qu'il y a après tel caractère d'un string.
Tu tapes String., tu fais ctrl+esp, tu regarde, et paf tu trouve plus vite qu'en allant sur internet :oui:

Bunyan
Bunyan
Niveau 17
15 mai 2014 à 00:05:10

Attention avec ce conseil : l'auto-complétion doit être une aide et ne doit en aucun cas remplacer la mémoire. Ce que conseil Shinigota est très utile, mais il ne faut pas se reposer uniquement dessus :)

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