Variable bloc try catch java
roseda
-
roseda -
roseda -
Bonjour,
si vous pouviez m'aider:
j'ai un petit problème:
le code suivant , lit un fichier texte d'entiers , et les affiche dans une matrice,
je voulais sauvegarder les valeurs de la matrice dans un tableau de 2 dimensions; puis réutiliser ce tableau. mais quand je déclare la table dans le bloc try , je ne peux pas la réutiliser, sinon si je fais comme décrit dans mon code , j'aurai cette erreur après compilation:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
monTableau cannot be resolved or is not a field
at fich.<init>(fich.java:31)
at afich.main(afich.java:12)
svppppp, quelqu'un peut m'aider??? merciiiiiiiii
mon code java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class fich {
String chemin = "fichier.txt";
public int a;
public int i=1;
public int x=1;
public int j=1;
int [][] monTableau = new int[a][a];
{
try{
BufferedReader buf = new BufferedReader(new FileReader(chemin));
try {
String line;
// on lit toutes les lignes du fichier
int n = Integer.parseInt(buf.readLine());
a=n+1;
while ((line = buf.readLine()) != null) {
if (x<=n) {
int m=Integer.parseInt(line);
this.monTableau[i][j]=m;
System.out.print(monTableau[i][j]+ " ");
x++;
j++;
}
if (x==n+1)
{
System.out.println();
x=1;
i++;
j=1;
}
}
System.out.println("\n");
}
finally {
// on ferme notre fichier
buf.close();
}
}
catch (IOException ioe) {
System.out.println(ioe.toString());
}
}
}
si vous pouviez m'aider:
j'ai un petit problème:
le code suivant , lit un fichier texte d'entiers , et les affiche dans une matrice,
je voulais sauvegarder les valeurs de la matrice dans un tableau de 2 dimensions; puis réutiliser ce tableau. mais quand je déclare la table dans le bloc try , je ne peux pas la réutiliser, sinon si je fais comme décrit dans mon code , j'aurai cette erreur après compilation:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
monTableau cannot be resolved or is not a field
at fich.<init>(fich.java:31)
at afich.main(afich.java:12)
svppppp, quelqu'un peut m'aider??? merciiiiiiiii
mon code java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class fich {
String chemin = "fichier.txt";
public int a;
public int i=1;
public int x=1;
public int j=1;
int [][] monTableau = new int[a][a];
{
try{
BufferedReader buf = new BufferedReader(new FileReader(chemin));
try {
String line;
// on lit toutes les lignes du fichier
int n = Integer.parseInt(buf.readLine());
a=n+1;
while ((line = buf.readLine()) != null) {
if (x<=n) {
int m=Integer.parseInt(line);
this.monTableau[i][j]=m;
System.out.print(monTableau[i][j]+ " ");
x++;
j++;
}
if (x==n+1)
{
System.out.println();
x=1;
i++;
j=1;
}
}
System.out.println("\n");
}
finally {
// on ferme notre fichier
buf.close();
}
}
catch (IOException ioe) {
System.out.println(ioe.toString());
}
}
}
A voir également:
- Variable bloc try catch java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
C'est assez simple, au lieu de faire :
Il faut faire :
Remarque : si tu ne connais pas la classe Scanner, jettes-y un coup d'oeil, c'est plus simple pour lire les lignes d'un fichier que l'utilisation de BufferedReader...
try { BufferedReader buf = new BufferedReader(...); ...
Il faut faire :
BufferedReader buf = null; try { buf = new BufferedReader(...); ...
Remarque : si tu ne connais pas la classe Scanner, jettes-y un coup d'oeil, c'est plus simple pour lire les lignes d'un fichier que l'utilisation de BufferedReader...
Scanner sc = new Scanner(new File("chemin")); while (sc.hasNextLine()) { ligne = sc.nextLine(); ...
Salut,
C'est quoi le bloc {
....
...
}
qui suit
int [][] monTableau = new int[a][a];
un constructeur,
la méthode main(...),
???
d'autre part le tableau monTableau tel que déclaré n'est pas utilisable car sans dimensions ou plustôt avec des dimensions zéro:
avec public int a; a est à zéro
et donc on a int [][] monTableau = new int[0][0];
Dan
C'est quoi le bloc {
....
...
}
qui suit
int [][] monTableau = new int[a][a];
un constructeur,
la méthode main(...),
???
d'autre part le tableau monTableau tel que déclaré n'est pas utilisable car sans dimensions ou plustôt avec des dimensions zéro:
avec public int a; a est à zéro
et donc on a int [][] monTableau = new int[0][0];
Dan