Recherche erreur syntaxique - Java - Programmation
Marsh Posté le 10-09-2007 à 12:12:41
et en lisant les messages d'erreur du compilateur, ca t'aide pas ?
Marsh Posté le 10-09-2007 à 12:12:53
ne nous donne surtout pas le message d'erreur lors de la compilation
Marsh Posté le 10-09-2007 à 12:18:35
excusez-moi:
Calcul.java:84: <identifier> expected
A=new double[N];
^
Calcul.java:85: illegal start of type
for(int i=0;i<=N;i++)
^
Calcul.java:91: <identifier> expected
return A;
^
3 errors
Marsh Posté le 10-09-2007 à 12:18:36
le nom des variables
Code :
|
une } en trop
je connais pas ce genre d'indentation, ça a un nom ?
Marsh Posté le 10-09-2007 à 12:20:36
import java.awt.*;
import java.awt.event.*;
import java.math.*;
public class Calcul {
maFonction f;
monSeuil seuil;
monRange range;
double[] B,C;
int N;
double T;
public Calcul(monSeuil s,monRange r){
seuil=s;
range=r;
N=range.NbPoints;
T=seuil.valider();
}
public void calculer(){
B=new double[N];
C=new double[N];
B=vecteurfonc();
C=fonctionseuil(B);
B=nvfonction(C);
}
public double valeur(int i){
double y=B[i];
return y;
}
double[][] mat(){
mat=new double[N][N];
for(int i=0;i<=N;i++)
{for(int j=0;j<=N;j++)
{mat[i][j]=0;}
}
for(int i=0;i<=(N/2);i++)
{mat[i][i*2]=1/Math.sqrt(2);
mat[i][i*2+1]=1/Math.sqrt(2);
}
int k=0;
for(int j=(N/2);j<=N;j++)
{mat[j][k*2]=1/Math.sqrt(2);
math[j][k*2+1]=-(1/Math.sqrt(2));
k=k+1;
}
return mat;
}
double[][] vecteurfonc(){
maFonction f;
double[][] mat,coord;
double[] A;
double pas=(range.Xmax-range.Xmin)/(N-1);
f=new maFonction();
coord=new double[2][N];
mat=new double[N][N];
mat=matrice();
for(int i=1;i<=N;i++)
{coord[0][i]=range.Xmin+i*pas;
coord[1][i]=f.valeur(coord[0][i]);
}
}
A=new double[N];
for(int i=0;i<=N;i++)
{double s=0;
for(int l=0;l<=N;l++)
{s=s+mat[i][l]*coord[1][l];}
A[i]=s;
}
return A;
}
double[] fonctionseuil(double[] A){
for(int i=0;i<=N;i++)
{if(Math.abs(A[i])<T){A[i]=0;};}
return A;
}
double[] nvfonction(double[] A){
double[][] matt,mat;
double[] D;
D=new double[N];
mat=new double[N][N];
matt=new double[N][N];
mat=matrice();
for(int i=0;i<=N;i++)
{for(int j=0;j<N;j++)
matt[i][j]=mat[j][i];}
for(int i=0;i<=N;i++)
{double s=0;
for(int j=0;j<=N;j++)
{s=s+matt[i][j]*A[j];}
D[i]=s;
}
return D;
}
}
Marsh Posté le 10-09-2007 à 12:23:00
ReplyMarsh Posté le 10-09-2007 à 12:25:21
Jamian a écrit : mais ca fait suite à la { de: |
non, c'est } a coté de return A la fin de la méthode donc après...
Marsh Posté le 10-09-2007 à 12:26:15
ReplyMarsh Posté le 10-09-2007 à 12:27:40
Jamian a écrit : |
Je ne les trouves pas super explicite.
B & C aurait comme nom titi & tata, ça me ferait le même effet je crois.
Marsh Posté le 10-09-2007 à 12:31:07
ReplyMarsh Posté le 10-09-2007 à 12:34:09
Jamian a écrit : oui mais bon je vois pas l'erreur de syntaxe |
soit tu ferme
Code :
|
trop tôt
soit tu as oublié de mettre
Code :
|
dans une méthode
Marsh Posté le 10-09-2007 à 12:42:53
pour la solution un si je fais :
double[][] vecteurfonc(){
maFonction f;
double[][] mat,coord;
double[] A;
double pas=(range.Xmax-range.Xmin)/(N-1);
f=new maFonction();
coord=new double[2][N];
mat=new double[N][N];
mat=matrice();
for(int i=1;i<=N;i++)
{coord[0][i]=range.Xmin+i*pas;
coord[1][i]=f.valeur(coord[0][i]);
}
A=new double[N];
for(int i=0;i<=N;i++)
{double s=0;
for(int l=0;l<=N;l++)
{s=s+mat[i][l]*coord[1][l];}
A[i]=s;
}
return A;
}
j'ai en retour:
Calcul.java:24: incompatible types
found : double[][]
required: double[]
B=vecteurfonc();
^
Calcul.java:39: cannot resolve symbol
symbol : variable mat
location: class Calcul
mat=new double[N][N];
^
Calcul.java:43: cannot resolve symbol
symbol : variable mat
location: class Calcul
{mat[i][j]=0;}
^
Calcul.java:48: cannot resolve symbol
symbol : variable mat
location: class Calcul
{mat[i][i*2]=1/Math.sqrt(2);
^
Calcul.java:49: cannot resolve symbol
symbol : variable mat
location: class Calcul
mat[i][i*2+1]=1/Math.sqrt(2);
^
Calcul.java:55: cannot resolve symbol
symbol : variable mat
location: class Calcul
{mat[j][k*2]=1/Math.sqrt(2);
^
Calcul.java:56: cannot resolve symbol
symbol : variable math
location: class Calcul
math[j][k*2+1]=-(1/Math.sqrt(2));
^
Calcul.java:59: cannot resolve symbol
symbol : variable mat
location: class Calcul
return mat;
^
Calcul.java:76: cannot resolve symbol
symbol : method matrice ()
location: class Calcul
mat=matrice();
^
Calcul.java:96: incompatible types
found : double[]
required: double[][]
return A;
^
Calcul.java:117: cannot resolve symbol
symbol : method matrice ()
location: class Calcul
mat=matrice();
^
11 errors
Marsh Posté le 10-09-2007 à 12:09:34
Bonjour,
je recherche une ou plusieurs erreurs dans ce programme de calcul, que je n'arrive pas à compiler ;
merci de votre aide!!
Voici le programme:
import java.awt.*;
import java.awt.event.*;
import java.math.*;
public class Calcul {
maFonction f;
monSeuil seuil;
monRange range;
double[] B,C;
int N;
double T;
public Calcul(monSeuil s,monRange r){
seuil=s;
range=r;
N=range.NbPoints;
T=seuil.valider();
}
public void calculer(){
B=new double[N];
C=new double[N];
B=vecteurfonc();
C=fonctionseuil(B);
B=nvfonction(C);
}
public double valeur(int i){
double y=B[i];
return y;
}
double[][] mat(){
mat=new double[N][N];
for(int i=0;i<=N;i++)
{for(int j=0;j<=N;j++)
{mat[i][j]=0;}
}
for(int i=0;i<=(N/2);i++)
{mat[i][i*2]=1/Math.sqrt(2);
mat[i][i*2+1]=1/Math.sqrt(2);
}
int k=0;
for(int j=(N/2);j<=N;j++)
{mat[j][k*2]=1/Math.sqrt(2);
math[j][k*2+1]=-(1/Math.sqrt(2));
k=k+1;
}
return mat;
}
double[][] vecteurfonc(){
maFonction f;
double[][] mat,coord;
double[] A;
double pas=(range.Xmax-range.Xmin)/(N-1);
f=new maFonction();
coord=new double[2][N];
mat=new double[N][N];
mat=matrice();
for(int i=1;i<=N;i++)
{coord[0][i]=range.Xmin+i*pas;
coord[1][i]=f.valeur(coord[0][i]);
}
}
A=new double[N];
for(int i=0;i<=N;i++)
{double s=0;
for(int l=0;l<=N;l++)
{s=s+mat[i][l]*coord[1][l];}
A[i]=s;
}
return A;
}
double[] fonctionseuil(double[] A){
for(int i=0;i<=N;i++)
{if(Math.abs(A[i])<T){A[i]=0;};}
return A;
}
double[] nvfonction(double[] A){
double[][] matt,mat;
double[] D;
D=new double[N];
mat=new double[N][N];
matt=new double[N][N];
mat=matrice();
for(int i=0;i<=N;i++)
{for(int j=0;j<N;j++)
matt[i][j]=mat[j][i];}
for(int i=0;i<=N;i++)
{double s=0;
for(int j=0;j<=N;j++)
{s=s+matt[i][j]*A[j];}
D[i]=s;
}
return D;
}
}