FileWriter só está lendo 3 valores

4 respostas
V

Quando executo o programa, ele só salva o nome, sobrenome e idade. Não consigo nem escrever o email, ele pula direto pra parte de dizer qual arquivo ficou salvo, e então o campo email fica vazio.

package Cadastro;

import java.io.FileWriter;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.Scanner;
public class cadastro {

public static void main(String[] args) throws IOException{

int idade;

String nome;

String sobrenome;

String email;
Scanner entrada = new Scanner(System.in);
    
    System.out.println("Informe seu nome: \n");
    nome = entrada.nextLine();
    System.out.println("Informe seu sobrenome: \n");
    sobrenome = entrada.nextLine();
    System.out.println("Informe sua idade: \n");
    idade = entrada.nextInt();
    System.out.println("Informe seu email: \n");
    email = entrada.nextLine();
    
    FileWriter arq = new FileWriter("c:\\Nomes.txt");
    PrintWriter gravarArq = new PrintWriter(arq);
    
    gravarArq.printf("+--Resultado--+%n");

    gravarArq.printf("| %s |%n", nome);
    gravarArq.printf("| %s |%n", sobrenome);
    gravarArq.printf("| %s |%n", email);
    gravarArq.printf("| %d |%n", idade);
    gravarArq.printf("+-------------+%n");
    
    arq.close();
    System.out.printf("\nO nome %s, sobrenome %s, idade %d e email %s foram gravados com sucesso em \"c:\\Nomes.txt\".\n", nome, sobrenome, idade, email);



    entrada.close();
}

}

4 Respostas

Z

Por que nome recebe e-mail e e-mail recebe nome?

V

Ah, eu inverti pra ver se o erro estava no email. Mas aí ele leu o email e não leu o nome

V

Sempre o valor que fica por 4º não é lido

Z

Amigo, sou iniciante, porém consegui resolver da forma abaixo. ps.: espero que perceba as modificações:

package Telas;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class cadastro {
public static void main(String[] args) throws IOException{

String idade;
String nome;
String sobrenome;
String email;

    Scanner entrada = new Scanner(System.in);

    System.out.println("Informe seu nome: \n");
    nome = entrada.nextLine();
    
    System.out.println("Informe seu sobrenome: \n");
    sobrenome = entrada.nextLine();
    
    System.out.println("Informe sua idade: \n");
    idade = entrada.nextLine();
    
    System.out.println("Informe seu email: \n");
    email = entrada.nextLine();

   // FileWriter arq = new FileWriter("c:\\Teste\\Nomes.txt");
   // PrintWriter gravarArq = new PrintWriter(arq);
    
    BufferedWriter arq = new BufferedWriter(new FileWriter("C:\\Users\\jlazaro\\Downloads\\cad.txt", true));
    PrintWriter gravarArq = new PrintWriter(arq);
    
    gravarArq.printf("+--Resultado--+%n");
    
    gravarArq.printf("\r\n"+"Nome: "+nome+"\r\n"+"Sobrenome: "+sobrenome+"\r\n"+"Idade: "+idade+"\r\n"+"E-mail: "+email);
    
    

   /* gravarArq.printf(" ", nome);
    gravarArq.printf(" ", sobrenome);
    gravarArq.printf(" ", email);
    gravarArq.printf(" ", idade);
    gravarArq.printf("+-------------+%n"); */
      
    
    arq.close();
    System.out.printf("\nO nome %s, sobrenome %s, idade %s e email %s foram gravados com sucesso em \"C:\\Users\\jlazaro\\Downloads\\cad.txt.\n", nome, sobrenome, idade, email);



    entrada.close();
}
    
    
}
Criado 8 de abril de 2016
Ultima resposta 8 de abr. de 2016
Respostas 4
Participantes 2