Problemas com obj Scanner!

não consigo criar um objeto scanner… nele eu passo como parâmetro um arquivo sendo este um objeto File. Já tentei de várias formas mas ele sempre aponta erro na copilação!

[code]import java.io.File.;
import java.util.Scanner.
;

class Gauss {

Scanner sistema = new Scanner(new File(C:/Users/Jhonatan/Desktop/jhonatan/sistemas/sistema.txt));	[/code]

Já revisei o diretorio do arquivo
Já tentei passar o endereço como se fosse uma string
Já inverti as barras

Não sei mais o que fazer!!!

Engraçado que o erro que ele aponta é esse >>>> ‘;’ expected, ‘)’ expected ???

Ajuda euuu! Obrigadooo!

os erros estão nos seus imports

é import java.io.File; e java.util.Scanner;

[quote=douglas_vidotto]os erros estão nos seus imports

é import java.io.File; e java.util.Scanner;

[/quote]

Fiz o que tu disse e o erro permanece o mesmo! Ele fica indicando o cursor na linha "Scanner sistema = new Scanner(new File(C:/Users/Jhonatan/Desktop/jhonatan/sistemas/sistema.txt)); "

Dentro do construtor de File, passe o parametro como uma string, entre aspas “”, talvez seja isso

Olha só… agora ele apontou uma exceção!

“unreported exception java.io.FileNotFoundException; must be caught or declared to be thrown”

Já revisei o diretório… ta certinho! Mudei o nome do arquivo txt mas o erro continua então acho que não deve ser java.io.FileNotFoundException deve ser o " must be caught or declared to be thrown" mas não sei o que devo fazer! Sabes?

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!

Em primeiro lugar, Você importou as classes erradas, pois não conheço java.io.File.; e java.util.Scanner.;. E sim, java.io.File; e java.util.Scanner.

Em segundo lugar, você precisa importar a classe java.io.FileNotFoundException.

Em terceiro, coloque todas as instruções dentro de um método, à qual, utilza o metodo throws a classe acima citada.

Em quarto, coloque o diretório dentro de aspas duplas, pois sua sintaxe está errada.

Abaixo coloco um código de exemplo.

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public class Gauss {

public static void main( String[] args ) throws FileNotFoundException{
// File arquivo = new File(“cronograma.txt”);
Scanner sistema = new Scanner( new File(“cronograma.txt”) );
}

}

[color=red]Observação: Coloque o arquivo que deseja utilizar, dentro do seu projeto de preferencia no pacote, pois fica melhor para localizar e quando utilizar o projeto em outro lugar não precisa criar diretorio ou altera-lo.[/color]

Curiosidade: Você mora em Vila Velha - ES ???

[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]>

Revise seu codigo …

por exemplo:

a instrução try-catch está fora de um método, com isso não irá funcionar …
outra coisa, na linha 79 do seu codigo há um “;” de “bobeira” por alí …

... for(; j<n1; j++){

Hum, vamos lá.

Você está fazendo um try/catch solto no código. Coloque ele dentro de algum método para que funcione.

Faltou também você fazer o import do FileNotFoundException.

No for do primeiro metodo voce faz “j><n1”. Não sei se você digitou errado, ou tentou colocar algum outro tipo de comparação, mas isso nao existe. Tem que ser > ou <. Alias, não foi so nele, em outros voce fez a mesma coisa.

Eu não sei se você ja programou em alguma outra linguagem de programação, mas eu sugiro que você dê uma olhada em alguma apostila, livro ou tutorial que ensine o basicao de java para voce ir começando, certo?

[quote=douglas_vidotto]Hum, vamos lá.

Você está fazendo um try/catch solto no código. Coloque ele dentro de algum método para que funcione.

Faltou também você fazer o import do FileNotFoundException.

No for do primeiro metodo voce faz “j><n1”. Não sei se você digitou errado, ou tentou colocar algum outro tipo de comparação, mas isso nao existe. Tem que ser > ou <. Alias, não foi so nele, em outros voce fez a mesma coisa.

Eu não sei se você ja programou em alguma outra linguagem de programação, mas eu sugiro que você dê uma olhada em alguma apostila, livro ou tutorial que ensine o basicao de java para voce ir começando, certo?

[/quote]

Olha só fiz uma serie de alterações e os erros sumiram. Mas eu quero ler todos os inteiros que estão no arquivo txt. Eles são os coeficientes do sistema. Estão assim:

1 2 3 4 5 6
7 8 9 2 2 1
4 3 2 2 2 2
8 9 6 4 0 0
9 0 7 8 8 8

é um exemplo de teste de uma matriz nxn+1.

Quero verificar quantos numeros há na primeira linha e fiz o seguinte codigo:

[code]import java.io.File;
import java.util.Scanner;
import java.io.FileNotFoundException;

class Gauss {

Scanner sistema;


public Gauss(Scanner sistema){
	this.sistema = sistema;
}	
	
public int leiaCoeficientes(){
	
	int coef = 0;
	
	//while(sistema.hasNextLine()){
		while(sistema.hasNextInt()){
		
			coef = coef + 1;
	}
	 
	return coef;
	

}
   .
   .
   .

[/code]

Classe pincipal que chama Gauss:

[code]import java.io.File;
import java.util.Scanner;
import java.io.FileNotFoundException;

class Principal {

public static void main(String [] a ) throws FileNotFoundException {
	
	File arquivo = new File("C:/Users/Jhonatan/Desktop/jhonatan/sistemas/sis.txt");
    Scanner sistema = new Scanner(arquivo);
	
	Gauss gaus = new Gauss(sistema);
	int num = gaus.leiaCoeficientes();
	System.out.println(num);

}[/code]

O problema é que já faz alguns minutos e não foi lançado o valor que esta em System.out.println(num); na tela!!!
é como se ele não estivesse varrendo a linha em busca dos inteiros!!!