Erro absurdo de lógica de arquivo

2 respostas
G

Eu estava fazendo um programa que coloca dentro de um arquivo txt uma palavra. Neste programa teria que ler o arquivo e pegar a palavra e mostrar os valores inteiros de cada caracter. Quando fiz no console com uma variavel só deu certo. Mas quando executei com arquivo deu totalmente errado. O codigo é esse:

for(int i = 0; i <dados.length;i++){
			  String word = JOptionPane.showInputDialog("Digite a palavra ");
				dados[i] = word;
				wt.write(dados[i]);
				wt.write(File.separator);
				while((word = rd.readLine())!=null){
					int x;
					for(int z=0; z!=word.length();z++){
						x = word.charAt(z)-'a';
						System.out.println(" A letra " + word.charAt(z) + " Corresponde ao numero " + (++x));
					}
					System.out.println("\n\n");
				}
				
				
			}

Nesse da um erro, na hora dos valores inteiros de cada caracter.
Quando eu apliquei sozinho não deu erro! este cod aqui de baixo foi o primeiro pra resolver o problema:

String	word = "casa";
		for(int z=0; z!=word.length();z++){
					int	x = word.charAt(z)-'a';
						System.out.println(" A letra " + word.charAt(z) + " Corresponde ao numero " + (++x));
						}

Os dois são a mesma coisa! Eu gostaria de sabe onde está o erro de logica neste programa?

javax.swing.*;
import java.io.*;

public class Hide {
	public static void main(String args[])throws IOException{
		
		String dados[] = new String[2];
		
		
		try{
			BufferedReader rd = new BufferedReader(new FileReader("C:\Testo.txt"));
			PrintWriter wt = new PrintWriter(new BufferedWriter(new FileWriter("C:\Test.txt")));
			
			for(int i = 0; i <dados.length;i++){
			  String word = JOptionPane.showInputDialog("Digite a palavra ");
				dados[i] = word;
				wt.write(dados[i]);
				wt.write(File.separator);
				while((word = rd.readLine())!=null){
					int x;
					for(int z=0; z!=word.length();z++){
						x = word.charAt(z)-'a';
						System.out.println(" A letra " + word.charAt(z) + " Corresponde ao numero " + (++x));
					}
					System.out.println("\n\n");
				}
				
				
			}
			wt.close();
			
			
			
			
		}catch(IOException e){
			System.out.println(e.getMessage());
		}
		
		System.exit(0);
	}
}

Alquem pode ajudar? Grato!

2 Respostas

R

Oi cara,

Esse codigo funcionou correctamente na minha maquina.

Pode logar aqui o erro que está dando?

Cumps,
Rui M.

G

Eu consegui resolver o problema aqui, mas surgiu uma duvida besta… Eu to escrendo num arquivo as palavras e dp eu estou lendo de outro arquivo as palavras como eu faço para escrever e depois ler do mesmo arquivo? Por que tenho que usar outro arquivo pra digitar uma outra palavra…

Criado 22 de dezembro de 2006
Ultima resposta 22 de dez. de 2006
Respostas 2
Participantes 2