Exercício adicional 28/08 - Arquivos
Página 1 de 1
Exercício adicional 28/08 - Arquivos
GeradorDeArquivo.java
- Código:
package br.gov.geracaotecsc.controlesolic;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
public class GeradorDeArquivo {
public void graveArquivo(Solicitacao solicitacao) {
try {
File f = new File("c:\\temp\\resultadoSolicitacao-" + solicitacao.getNomeSolicitante() + ".txt");
PrintWriter arquivoWriter = new PrintWriter(f);
escrevaSaudacao(solicitacao, arquivoWriter);
arquivoWriter.println();
arquivoWriter.println(solicitacao.getMensagem());
arquivoWriter.println();
escrevaDescricao(solicitacao, arquivoWriter);
arquivoWriter.println();
escrevaEncerramento(arquivoWriter);
arquivoWriter.close();
System.out.println("O arquivo foi gerado com sucesso!");
} catch (FileNotFoundException e) {
System.err.println("Ocorreu um erro ao gerar o arquivo. Detalhes do erro: ");
e.printStackTrace();
}
}
private void escrevaEncerramento(PrintWriter arquivoWriter) {
arquivoWriter.println("Atenciosamente,");
arquivoWriter.println("Geração TEC");
}
private void escrevaDescricao(Solicitacao solicitacao,
PrintWriter arquivoWriter) {
arquivoWriter.println(
"A descrição da sua solicitação " +
"foi a seguinte:");
arquivoWriter.println();
arquivoWriter.println("\"" + solicitacao.getDescricao() + "\"");
}
private void escrevaSaudacao(Solicitacao solicitacao,
PrintWriter arquivoWriter) {
arquivoWriter.println(solicitacao.getSaudacao());
}
public static void main(String[] args) {
GeradorDeArquivo gerador = new GeradorDeArquivo();
GeradorArquivoConsoleUI ui = new GeradorArquivoConsoleUI();
Solicitacao solicitacao = ui.soliciteDadosSolicitacao();
gerador.graveArquivo(solicitacao);
}
}
- Código:
package br.gov.geracaotecsc.controlesolic;
import java.util.Scanner;
public class GeradorArquivoConsoleUI {
private Scanner scanner;
public GeradorArquivoConsoleUI() {
scanner = new Scanner(System.in);
}
public Solicitacao soliciteDadosSolicitacao() {
String nome = facaPergunta("Digite o nome do solicitante: ");
String sexo = facaPergunta("Digite o sexo do solicitante: ");
String descricao = facaPergunta("Digite a descrição da solicitação: ");
String data = facaPergunta("Digite a data da solicitação: ");
boolean atendida = facaPerguntaBoolean("A solicitação foi aceita? (S/N)");
return new Solicitacao(
nome, sexo, descricao, data, atendida);
}
public String facaPergunta(String pergunta) {
System.out.println(pergunta);
String resposta = scanner.next();
return resposta;
}
public boolean facaPerguntaBoolean(String pergunta) {
String respostaStr = facaPergunta(pergunta);
while (!"s".equalsIgnoreCase(respostaStr) && !"n".equalsIgnoreCase(respostaStr)) {
System.out.println("Valor invalido!");
respostaStr = facaPergunta(pergunta);
}
if ("s".equalsIgnoreCase(respostaStr)) {
return true;
} else {
return false;
}
}
}
- Código:
package br.gov.geracaotecsc.controlesolic;
public class Solicitacao {
private String nomeSolicitante;
private String sexoSolicitante;
private String descricao;
private String data;
private boolean atendida;
public Solicitacao() {
}
//Source -> Generate constructors using fields
public Solicitacao(String nomeSolicitante, String sexoSolicitante,
String descricao, String data, boolean atendida) {
this.nomeSolicitante = nomeSolicitante;
this.sexoSolicitante = sexoSolicitante;
this.descricao = descricao;
this.data = data;
this.atendida = atendida;
}
public String getNomeSolicitante() {
return nomeSolicitante;
}
public void setNomeSolicitante(String nomeSolicitante) {
this.nomeSolicitante = nomeSolicitante;
}
public String getSexoSolicitante() {
return sexoSolicitante;
}
public void setSexoSolicitante(String sexoSolicitante) {
this.sexoSolicitante = sexoSolicitante;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
public boolean isAtendida() {
return atendida;
}
public void setAtendida(boolean atendida) {
this.atendida = atendida;
}
public String getMensagem() {
if (isAtendida()) {
return
"Temos o prazer de informar que " +
"sua solicitação realizada em " +
getData() +
" foi atendida com sucesso.";
} else {
return
"Informamos que, infelizmente, sua " +
"solicitação realizada em " +
getData() +
" não pode ser atendida.";
}
}
public String getSaudacao() {
if ("m".equalsIgnoreCase(getSexoSolicitante())) {
return "Prezado Sr. " + nomeSolicitante;
} else {
return "Prezada Sra. " + nomeSolicitante;
}
}
}
Tópicos semelhantes
» Exercício adicional 28/08 - Arquivos
» (alterado) 9 - SELECT, WHERE, operadores, DISTINCT, ORDER BY, Agregação
» Exercício adicional 29/07 - Universidade 2
» Exercício adicional 29/07 - Universidade 2
» Exercício adicional 22/08 - Herança
» (alterado) 9 - SELECT, WHERE, operadores, DISTINCT, ORDER BY, Agregação
» Exercício adicional 29/07 - Universidade 2
» Exercício adicional 29/07 - Universidade 2
» Exercício adicional 22/08 - Herança
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos