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!