Problemas em Java... Ajuda...

ajuda urgente

eu nao percebo nada d java e tnh um trabalho urgente pa entregar na faculdade, precisava d um ajudinha, tnh k fazer um programa k leia as duas matrizes e me crie uma terceira matriz em ficherio, isto td em ficheiros txt, dê me uma ajuda por favor
obrigado
 
ajuda urgente

preciso d ajuda, tnh k somar 2 matrizes, e o programa tenm k m criar uma terceira matriz c as somas tds, mas isto td em ficheiros txt, ajudem me
 
Para ler de um ficheiro podes usar a classe BufferedReader, crias a instancia, e o metodo para ler pode ser o read() ou readLine() dependendo do teu objectivo.
Em alternativa o Scanner, com os metodos next() ou nextInt() ou nextLine(), uma vez mais depende do objectivo.

Dá uma olhada na API do java.
Posso dar-te uma ajudinha, relativamente à leitura do ficheiro, com o scanner:
Código:
Scanner leitor = new Scanner(new FileReader(args[0])); //O args[0] é o parametro da cmd

Se pretendes ler cada valor do ficheiro e colocar na matriz, fazes o seguinte:
Código:
int[][] matriz1 = new int[xpto1][xpto2];

for (int i = 0; i < xpto1.length; i++)
    for (int j = 0; j < xpto1[i].length; j++;
         matriz1[i][j] = leitor.nextInt();
Assumindo que o ficheiro tem os valores certos, isto é, não tem valores a menos.
Fazes o mesmo para a segunda matriz, e em vez de args[0] usas o 1.
Desenvolves o resto do algoritmo, etc etc.

Para escrever no ficheiro, usas o args[2].
A classe é o BufferedWriter, por exemplo:
Código:
BufferedWriter f_out = new BufferedWriter(new FileWriter(args[2]));

Depois é escrever para o ficheiro, cada posicao da tua matriz_resultado:
Código:
for (bla bla bla, igual ao de cima)
     for (bla bla bla, igual ao de cima)
          f_out.write(matriz_resultado[i][j]);

Mais coisa menos coisa, com a ajuda do eclipse consegues safar-te bem, ou outro IDE mágico.
Os args[x], se não souberes para o que serve, é para quando correres o teu programa, ao fazeres:
java RunPrograma fich1.txt fich2.txt fichResultado.txt

args[0] = fich1.txt;
args[1] = fich2.txt;
args[2] = fichResultado.txt;

No final do metodo onde usas o Scanner e o/s BufferedReader/Writer, convém sempre fechar, para não ficar dados no buffer, isto é:
leitor.close();
f_out.close();
Nos exemplos que te dei.

Não sei se fui suficientemente claro, mas a esta hora já é dificil ter noção da realidade :x2:
 
Boas pessoal, sou principiante em java e tenho uma duvida em relaçao aos contadores.
criei um metodo que me indica quando o array chegou ao fim e apliquei um contador o codigo é

static int contador = 0;
public static void main(String[] args) {
int[] vetor = new int[50]; // Variavel estatica
int variavel = vetor.length - 1; // aqui estamos colocamos - 1 porque vamos comparar com i. O nosso vetor tem 50 posições de 0 a 49

for (int i = 0; i < vetor.length; i++) {
if (i == vetor.length -1){ // aqui eu poderia fazer assim tb : if (i == (vetor.length -1)) Eliminando a variavel la em cima.
System.out.println("Fim do vetor");
contador++; //incrementa a variavel estatica.
}else{
System.out.println("Percorrendo...");
}
}

eu agora nao sei como fazer para que ele me devolva o numero de vezes que o array chegou ao fim, agradeço qualquer dica
 
Boas pessoal, sou principiante em java e tenho uma duvida em relaçao aos contadores.
criei um metodo que me indica quando o array chegou ao fim e apliquei um contador o codigo é

static int contador = 0;
public static void main(String[] args) {
int[] vetor = new int[50]; // Variavel estatica
int variavel = vetor.length - 1; // aqui estamos colocamos - 1 porque vamos comparar com i. O nosso vetor tem 50 posições de 0 a 49

for (int i = 0; i < vetor.length; i++) {
if (i == vetor.length -1){ // aqui eu poderia fazer assim tb : if (i == (vetor.length -1)) Eliminando a variavel la em cima.
System.out.println("Fim do vetor");
contador++; //incrementa a variavel estatica.
}else{
System.out.println("Percorrendo...");
}
}

eu agora nao sei como fazer para que ele me devolva o numero de vezes que o array chegou ao fim, agradeço qualquer dica
o que tens aí é um ciclo que itera do início ao fim do array uma única vez.
 
Back
Topo