Stocker texte dans un tableau
Fermé
liljohn27
Messages postés
26
Date d'inscription
mardi 20 novembre 2012
Statut
Membre
Dernière intervention
14 août 2014
-
Modifié par liljohn27 le 30/11/2012 à 15:33
liljohn27 Messages postés 26 Date d'inscription mardi 20 novembre 2012 Statut Membre Dernière intervention 14 août 2014 - 21 déc. 2012 à 20:35
liljohn27 Messages postés 26 Date d'inscription mardi 20 novembre 2012 Statut Membre Dernière intervention 14 août 2014 - 21 déc. 2012 à 20:35
A voir également:
- Stocker texte dans un tableau
- Tableau croisé dynamique - Guide
- Tableau ascii - Guide
- Comment faire un tableau - Guide
- Trier un tableau excel - Guide
- Excel cellule couleur si condition texte - Guide
2 réponses
KX
Messages postés
16753
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
25 novembre 2024
3 019
30 nov. 2012 à 20:55
30 nov. 2012 à 20:55
Il y a quelque chose de très maladroit dans ton code, c'est de passer un tableau en paramètre, alors que l'on ne connaît pas la taille du fichier, il est plus sûr de passer par des listes.
Si tu as bien le format de fichier indiqué avant tu peux le lire comme ça :
Remarque : la Russie est en Asie, elle devrait avoir le même code que la Chine ou le Japon.
Si tu as bien le format de fichier indiqué avant tu peux le lire comme ça :
import java.io.File; import java.io.FileNotFoundException; import java.util.LinkedList; import java.util.Scanner; public class Nation { // Constructeur bidon public Nation(int continent, String pays, String capitale, int superficie, int population) { System.out.printf("%d - %s - %s - %d - %d\n", continent,pays,capitale,superficie,population); } public static Nation[] lire(String nomFichier) throws FileNotFoundException { Scanner sc = new Scanner(new File(nomFichier)); LinkedList<Nation> liste = new LinkedList<Nation>(); while (sc.hasNextLine()) { String[] tab = sc.nextLine().split(" "); int continent = Integer.parseInt(String.valueOf(tab[0].charAt(0))); String pays = tab[0].substring(1); String capitale = tab[1]; int superficie = Integer.parseInt(tab[2]); int population = Integer.parseInt(tab[3]); liste.add(new Nation(continent,pays,capitale,superficie,population)); } sc.close(); return liste.toArray(new Nation[liste.size()]); } public static void main(String[] args) throws FileNotFoundException { Nation[] nations = lire("C:/test.txt"); } }
Remarque : la Russie est en Asie, elle devrait avoir le même code que la Chine ou le Japon.
Heliotte
Messages postés
1491
Date d'inscription
vendredi 26 octobre 2012
Statut
Membre
Dernière intervention
28 janvier 2013
92
Modifié par Heliotte le 30/11/2012 à 18:26
Modifié par Heliotte le 30/11/2012 à 18:26
Bonsoir liljohn27,
Ton fichier texte est réellement comme cela ? Je veux dire tout collé ?
édit:
Quel est le type du tableau nation ? String ou int ?
Si String, alors ok. Si int alors caster le String provenant du fichier.
Ton fichier texte est réellement comme cela ? Je veux dire tout collé ?
édit:
Quel est le type du tableau nation ? String ou int ?
Si String, alors ok. Si int alors caster le String provenant du fichier.
21 déc. 2012 à 20:35