[quote=douglas_vidotto]Então, é que toda vez que você vai fazer uma operação de Entrada e Sáida (I/O) uma exceção pode ser lançada. O compilador exige então que voce coloque o código dentro de um bloco try, catch.
try{
Scanner sistema = new Scanner(new File("C:/algumaCoisa/arquivo.txt"));
}
catch(FileNotFoundException ex){
//algum codigo qualquer que trata a exceçao ou que somente imprima onde foi lançada a exceção
}
Se você colocar o código como acima, deve funcionar. Precisando, é so falar.
Abraços!
[/quote]
Vlw… Mas agora deu alguns bilhoes de erros!
illegal start of type para a linha em que esa o try
‘;’ expected para a linha em que esta o try
e uma porrade de “class, interface, or enum expected” para varios pontos do meu algoritimo! Mas engraçado que antes isso não tinha aparecido! Implementei o algoritimo durante essa semana e não aparecia class, interface, or enum expected !!!
To fazendo o algoritimo p achar solução de sistemas via metodo eliminativo de Gauss que consiste em pegar os coeficientes do sistema e coloca-los na matriz aumentada!
Tava fazendo isso recebendo os coeficientes atraves de um array bidimensional mas o professor mandou fazer com que os coeficientes sejam lidos de um arquivo externo!
vou passar o codigo!
[code]import java.io.File;
import java.util.Scanner;
class Gauss {
try{
Scanner sistema = new Scanner(new File("C:/Users/Jhonatan/Desktop/jhonatan/sistemas/sis.txt"));
}
catch(FileNotFoundException ex){
//algum codigo qualquer que trata a exceçao ou que somente imprima onde foi lançada a exceção
}
public void calculePorGuass(int n, double[][] matriz){
int n1 = n+1;
for(int k=0; k<n-1; k++){
for(int j=k; j><n1; j++){
matriz[k][j]= matriz[k][j]/matriz[k][k];
}
for(int i=k+1; i><n; i++){
double cond = matriz[i][k];
for(int j=k; j><n1; j++){
matriz[i][j] = matriz[i][j] - (cond * matriz[k][j]);
}
}
for(int y=0; y><n; y++){
System.out.println(matriz[y][1]);
}
// System.out.println(matriz[k][j]);
}
//System.out.println("xxxxx"+matriz[n-1][n1-1]);
matriz[n-1][n1-1] = (matriz[n-1][n1-1]/matriz[n-1][n-1]); // como um aray começa pelo indice 0 então ñ há a posição n!
//System.out.println("yyyyy"+matriz[n-1][n1-1]);
matriz[n-1][n-1] = 1;
double [] solucoes = new double[n];
solucoes[n-1] = matriz[n-1][n1-1];
for(int i=1; i><=n-1; i++){
int k = n - i;
solucoes[k] = matriz[k][n1-1];
for(int j =k+1; j<n; j++){
solucoes[k] = solucoes[k] - matriz[i][j] * solucoes[j];
}
}
for(int t = 0; t><solucoes.length; t++)
System.out.println(solucoes[t]);
}
//______________________________________________________________________________________________________________//
public void calculeGuassComPivotamento(int n, double[][] matriz){
int n1 = n+1;
for(int k=0; k><n-1; k++){
int j = k;
double maior = matriz[k][j];
for(int m=k+1; m><n; m++){ // calculando o maior elemento da linha
if(maior >< matriz[m][j])
maior = matriz[m][j];
}
for(; j<n1; j++){
matriz[k][j]= matriz[k][j]/maior;
}
for(int i=k+1; i><n; i++){
double cond = matriz[i][k];
for(j=k; j><n1; j++){
matriz[i][j] = matriz[i][j] - (cond * matriz[k][j]);
}
}
}
//System.out.println("xxxxx"+matriz[n-1][n1-1]);
matriz[n-1][n1-1] = (matriz[n-1][n1-1]/matriz[n-1][n-1]); // como um aray começa pelo indice 0 então ñ há a posição n!
//System.out.println("yyyyy"+matriz[n-1][n1-1]);
matriz[n-1][n-1] = 1;
double [] solucoes = new double[n];
solucoes[n-1] = matriz[n-1][n1-1];
for(int i=1; i><=n-1; i++){
int k = n - i;
solucoes[k] = matriz[k][n1-1];
for(int j =k+1; j<n; j++){
solucoes[k] = solucoes[k] - matriz[i][j] * solucoes[j];
}
}
for(int t = 0; t><solucoes.length; t++){
System.out.println(solucoes[t]);
}
}
}[/code]>