petite erreur le fichier pas dans le tableau
alors
j ai un fichier text avec des ligne de chiffre comme ci dessous
12 34 45 56 67
77 65 90 76 43
34 12 54 67 78
34 etc...
je charge tout dans un tableau[]
tableau[1]=12
tableau[2]=34
etc
quand le tableau es charger en recherche le 1 chiffre 12 et en regarde a quel ligne en le retrouve
dans cette exemple en trouve le chiffre 12 a la 3 eme ligne ,donc dans le tableau2[] en enregistre le chiffre 3 ;tableau2[1]=3
est ensuite en passe au deuxieme chiffre le 34 en le trouve aussi ligne 3 est en registre tableau2[2]=3
etc
jusques la fin
voici le cod e j'arrive pas ...mis des print pour controller si bien dans le tableau ...le fichier ,mais en dirais que non
les print ou j'ai mis // la je voie le fichier text ,ais plus loin remis print est n'affiche pas le fichier ,que je pnser etre dans l tableau
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
| package file;
import java.util.Arrays;
import java.io.*;
import java.io.File;
import java.io.FileReader;
import java.util.Arrays;
public class files {
int[] tableau;
int[] tableau2 = new int[1000];
int[] tableau3 = new int[1000];
int[] tableau4 = new int[1000];
int n = 0;
int c = 1;
/**
* Constructeur
*/
public files() {
try (BufferedReader b = new BufferedReader(new FileReader(new File("D:/taxe.txt")))) {
String line;
// Lecture du fichier ligne par ligne. Cette boucle se termine
// quand la méthode retourne la valeur null.
while ((line = b.readLine()) != null) {
// STOCK LA LIGNE DANS UN BUFFER
// String tmp = b.readLine();
// COUPE LA LIGNE SUIVANT LES ESPACES
String[] args = line.split("\\s+");
// ALLOUE NOTRE TABLEAU DE N ELEMENTS
tableau = new int[args.length];
// COPIE CHAMP A CHAMP + AFFICHAGE
for (int i = 1; i < tableau.length; i++) {
tableau[i] = Integer.parseInt(args[i]);
tableau2[i]=tableau[i];
// System.out.print(tableau[i]);
//System.out.print(" ");
c = c + 1;
if (c == 6) {
c = 1;
System.out.println(" ");
}
n++;
}
{
int indiceTableau = 0;
int[] tableauIndiceCherche = new int[tableau.length];
int[] tableauIndiceTrouve = new int[tableau.length];
for (int i = 0; i < tableau.length - 1; i++) {
int indiceTrouve = recherche(tableau[i], tableau, i + 1);
if (indiceTrouve >= 0) {
// par exemple
tableauIndiceCherche[indiceTableau] = i;
tableauIndiceTrouve[indiceTableau] = indiceTrouve;
indiceTableau++; // on passe à la case suivante
}
}
}
}
}
catch (
IOException e)
{
// System.out.println("Erreur, le fichier n'existe pas ou est mal
// formaté");
e.printStackTrace();
}
for (int i = 1; i < tableau.length; i++) {
System.out.print(tableau[i]);
System.out.print(" ");
c = c + 1;
if (c == 6) {
c = 1;
System.out.println(" ");
}
n++;
}
}
//}
public static int recherche(int maValeur, int[] tab, int depart) {
int monIndice = -1;
for (int i = depart; monIndice == -1 && i < tab.length; i++) {
if (maValeur == tab[i]) {
//System.out.println(i);
monIndice = i;
}
}
return monIndice;
}
/**
* MAIN
*/
public static void main(String[] args) {
// On lance notre lire fichier
new files();
}
} |
1 pièce(s) jointe(s)
erreur je sais pas pourquoi
Pièce jointe 199382la ligne
Code:
int[] tableau = null ;
me dit erreur
multiple marker as this line
syntax error on token ";" , esped afer token....
je sais pas pourquoi le ; est juste si je enleve me fais erreur aussi
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| package taxe;
import java.io.*;
import java.util.Arrays;
import java.util.List;
public class taxes {
int[] tableau = null ;
// on ne peut pas connaitre le nombre de nombres à lire tant qu'on a pas lu toutes les lignes, donc on utilise une liste, c'est le plus simple
try (BufferedReader b = new BufferedReader(new FileReader(new File("D:/taxe.txt")))) {
String line;
// Lecture du fichier ligne par ligne. Cette boucle se termine
// quand la méthode retourne la valeur null.Pièce jointe 199382
while ((line = b.readLine()) != null) {
String[] args = line.split("\\s+");
int[] lecture = new int[args.length-1]; // on crée un tableau temporaire pour la lecture
for (int i = 1; i < tableau.length; i++) {
lecture[i-1]=Integer.parseInt(args[i]);
}
if ( tableau==null ) {
tableau = lecture;
}
else { // on va créer un tableau temporaire pour copier les 2 autres dedans
int[] temp = new int[tableau.length+lecture.length];
System.arrayCopy(tableau, 0, temp, 0, tableau.length); // copie tableau dans temp (tu peux faire ça aussi avec une boucle si tu préfères ne pas utiliser autre chose)
System.arrayCopy(lecture, 0, temp, tableau.length, lecture.length); // copie lecture dans temp (même remarque que ligne précédente)
tableau = temp;
}
}
}
// le reste du traitement peut être fait, à partir d'ici...
} |