Boa noite pessoal!!
Bom, não gosto de estar pedindo tanto socorro assim, mais eu estou com um problema meio chato…
não estou conseguindo fazer o extrado desse meu programa… tipo, fazer aquela impressão de movimentação da conta bancária, e estou tendo dificuldade nisso, para poder girar tipo um “vetor”, que poderá salvar os meus clientes cadastrados neles, e poderá passar o histórico da movimentação da conta do usuário.
Se puderem me ajudar nessa minha dificuldade… aqui está o código…
public class Lab03Sistema {
Lab03Sistema vetoExtrato[] = new Lab03Sistema[10];
int numAge;
int numConta;
double valor;
private void leValores() {
do {
this.numAge = Console.readInt("Numero da Agencia : ");
} while (this.numAge <= 0);
do {
this.numConta = Console.readInt("Numero da Conta : ");
} while (this.numConta <= 0);
do {
this.valor = Console.readDouble("Valor : ");
} while (this.valor <= 0.0);
}
public void execCadastramento() {
String nome;
char opcao;
leValores();
do {
nome = Console.readString("Nome do Cliente : ");
} while (nome.equals(""));
opcao = Console.readChar("Confirma cadastramento (S/N) : ");
if (opcao != 'S' && opcao != 's') {
return;
}
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta, nome, this.valor);
cc1.gravar();
}
public void execSaque() {
char opcao;
leValores();
opcao = Console.readChar("Confirma saque (S/N) : ");
if (opcao != 'S' && opcao != 's')
return;
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
if (cc1.sacar(this.valor) == 0) {
System.out.println("Saldo Indisponivel");
} else {
cc1.gravar(); // persiste o saque
System.out.println("Saque Efetuado com Sucesso");
}
}
public void execDeposito() {
char opcao;
leValores();
opcao = Console.readChar("Confirma deposito (S/N) : ");
if (opcao != 'S' && opcao != 's')
return;
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
cc1.depositar(this.valor);
cc1.gravar(); // grava um novo arquivo contendo o valor atualizado do saldo.
}
public void execConsulta() {
do {
this.numAge = Console.readInt("Numero da Agencia : ");
} while (this.numAge <= 0);
do {
this.numConta = Console.readInt("Numero da Conta : ");
} while (this.numConta <= 0);
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
cc1.imprimir();
}
public void execExtrato(){
do{
this.numAge = Console.readInt("Numero da Agencia: ");
} while(this.numAge<=0);
do{
this.numConta = Console.readInt("Numero da Conta: ");
}while(this.numConta<=0);
for(int i=0; i<vetoExtrato.length;i++){
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(numAge, numConta, null, valor);
cc1.imprimir();
}
}
public static void main(String[] args) {
char opcao;
Lab03Sistema obj = new Lab03Sistema();
while (true) {
System.out.println("Entre com a opcao desejada");
System.out.println("1 - Cadastramento");
System.out.println("2 - Saque");
System.out.println("3 - Deposito");
System.out.println("4 - Consulta");
System.out.println("9 - Fim");
// System.out.println("Opcao : ");
opcao = Console.readChar("Opcao : ");
if (opcao == '9')
break;
switch (opcao) {
case '1':
obj.execCadastramento();
break;
case '2':
obj.execSaque();
break;
case '3':
obj.execDeposito();
break;
case '4':
obj.execConsulta();
break;
default:
System.out.println("Opcao invalida. Reentre.");
}
}
}
public Lab03Sistema() {
super();
}
}
public class Lab03ContaCorrente {
private int numAge = 0;
private int numConta = 0;
private String nome = "";
private double saldo = 0.0;
public int sacar(double pValor) {
if (this.saldo < pValor)
return 0;
this.saldo -= pValor;
return 1;
}
public void depositar(double pValor) {
this.saldo += pValor;
}
public Lab03ContaCorrente() {
super();
}
public Lab03ContaCorrente(int pNumAge, int pNumConta) {
setNumAge(pNumAge);
setNumConta(pNumConta);
// Carregar a conta corrente de um arquivo texto
recuperar();
}
/* Implementado devido ao laboratório 04. Desconsiderá-lo no laboratório 3 */
public boolean removerArquivo() {
File tArq1;
tArq1 = new File(this.numAge + "." + this.numConta + ".dat");
tArq1.delete();
tArq1 = new File(this.numAge + "." + this.numConta + ".hist");
tArq1.delete();
return true;
}
public boolean gravar() {
FileWriter tArq1;
PrintWriter tArq2;
try {
// abrir o aquivo
tArq1 = new FileWriter(getNumAge() + "." + getNumConta() + ".dat");
tArq2 = new PrintWriter(tArq1);
tArq2.println(getNumAge());
tArq2.println(getNumConta());
tArq2.println(getNome());
tArq2.println(getSaldo());
// fechar o arquivo
tArq2.close();
return true;
}
catch (IOException tExcept) {
tExcept.printStackTrace();
return false;
}
}
private void salvar(){
}
private void recuperar() {
FileReader tArq1 = null;
BufferedReader tArq2 = null;
int tQtde = 4;
try {
// abrir o arquivo
tArq1 = new FileReader(getNumAge() + "." + getNumConta() + ".dat");
tArq2 = new BufferedReader(tArq1);
// ler atributo/valor e colocar na matriz
String[] tLinha = new String[tQtde];
for (int i = 0; i < tQtde; i++) {
tLinha[i] = tArq2.readLine();
}
// fechar o arquivo
tArq2.close();
setNumAge(Integer.parseInt(tLinha[0]));
setNumConta(Integer.parseInt(tLinha[1]));
setNome(tLinha[2]);
setSaldo(Double.parseDouble(tLinha[3]));
} catch (IOException tExcept) {
tExcept.printStackTrace();
}
}
public Lab03ContaCorrente(int pNumAge, int pNumConta, String pNome,
double pSaldo) {
setNumAge(pNumAge);
setNumConta(pNumConta);
setNome(pNome);
setSaldo(pSaldo);
}
public void imprimir() {
System.out.println("------------------------------------------");
System.out.println("Agencia : " + getNumAge());
System.out.println("Conta : " + getNumConta());
System.out.println("Nome : " + getNome());
NumberFormat formatter;
formatter = NumberFormat.getCurrencyInstance(new Locale("pt", "BR"));
formatter.setMinimumFractionDigits(2);
System.out.println("Saldo : " + formatter.format(this.saldo));
}
public String getNome() {
return this.nome;
}
public double getSaldo() {
return this.saldo;
}
public void setNome(String string) {
this.nome = string;
}
public void setNumAge(int i) {
if ((i < 0) || (i > 9999))
System.out.println("Numero da agencia invalido");
this.numAge = i;
}
public void setNumConta(int i) {
if ((i < 0) || (i > 9999999))
System.out.println("Numero da conta invalido");
this.numConta = i;
}
public void setSaldo(double d) {
this.saldo = d;
}
public int getNumAge() {
return this.numAge;
}
public int getNumConta() {
return this.numConta;
}
}
public class Console
{
private static String readLine()
{
int tCh;
String tLinha = "";
boolean tFim = false;
while (!tFim)
{
try
{
tCh = System.in.read();
if (tCh < 0 || (char) tCh == '\n')
tFim = true;
else
if ((char) tCh != '\r')
tLinha = tLinha + (char) tCh;
}
catch (java.io.IOException tExcept)
{
tLinha = null;
tFim = true;
}
}
return tLinha;
}
private static void printPrompt(String pPrompt)
{
System.out.print(pPrompt);
System.out.flush();
}
private static byte ajustaByte(long pValor)
{
if (pValor < Byte.MIN_VALUE)
return Byte.MIN_VALUE;
if (pValor > Byte.MAX_VALUE)
return Byte.MAX_VALUE;
return (byte) pValor;
}
private static short ajustaShort(long pValor)
{
if (pValor < Short.MIN_VALUE)
return Short.MIN_VALUE;
if (pValor > Short.MAX_VALUE)
return Short.MAX_VALUE;
return (short) pValor;
}
private static int ajustaInt(long pValor)
{
if (pValor < Integer.MIN_VALUE)
return Integer.MIN_VALUE;
if (pValor > Integer.MAX_VALUE)
return Integer.MAX_VALUE;
return (int) pValor;
}
private static float ajustaFloat(double pValor)
{
if (pValor < Float.MIN_VALUE)
return Float.MIN_VALUE;
if (pValor > Float.MAX_VALUE)
return Float.MAX_VALUE;
return (float) pValor;
}
public static byte readByte(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaByte(pValor);
return Byte.valueOf(tLinha).byteValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'byte'");
System.out.println("Digite novamente...");
}
}
}
public static byte readByte(String pPrompt)
{
return readByte(pPrompt,0);
}
public static byte readByte(long pVlr)
{
byte tVlr = ajustaByte (pVlr);
return readByte("Entre com um valor do tipo 'byte' (" + tVlr + " default) : ", tVlr);
}
public static byte readByte()
{
return readByte("Entre com um valor do tipo 'byte' (0 default) : ", 0);
}
public static short readShort(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaShort(pValor);
return Short.valueOf(tLinha).shortValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'short'");
System.out.println("Digite novamente...");
}
}
}
public static short readShort(String pPrompt)
{
return readShort(pPrompt,0);
}
public static short readShort(long pVlr)
{
short tVlr = ajustaShort (pVlr);
return readShort("Entre com um valor do tipo 'short' (" + tVlr + " default) : ", tVlr);
}
public static short readShort()
{
return readShort("Entre com um valor do tipo 'short' (0 default) : ", 0);
}
public static int readInt(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaInt(pValor);
return Integer.valueOf(tLinha).intValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'int'");
System.out.println("Digite novamente...");
}
}
}
public static int readInt(String pPrompt)
{
return readInt(pPrompt,0);
}
public static int readInt(long pVlr)
{
int tVlr = ajustaInt (pVlr);
return readInt("Entre com um valor do tipo 'int' (" + tVlr + " default) : ", tVlr);
}
public static int readInt()
{
return readInt("Entre com um valor do tipo 'int' (0 default) : ", 0);
}
public static long readLong(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
return Long.valueOf(tLinha).longValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'long'");
System.out.println("Digite novamente...");
}
}
}
public static long readLong(String pPrompt)
{
return readLong(pPrompt,0);
}
public static long readLong(long pVlr)
{
return readLong("Entre com um valor do tipo 'long' (" + pVlr + " default) : ", pVlr);
}
public static long readLong()
{
return readLong("Entre com um valor do tipo 'long' (0 default) : ", 0);
}
public static float readFloat(String pPrompt, double pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaFloat(pValor);
return Float.valueOf(tLinha).floatValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'float'");
System.out.println("Digite novamente...");
}
}
}
public static float readFloat(String pPrompt)
{
return readFloat(pPrompt,0);
}
public static float readFloat(double pVlr)
{
float tVlr = ajustaFloat (pVlr);
return readFloat("Entre com um valor do tipo 'float' (" + tVlr + " default) : ", tVlr);
}
public static float readFloat()
{
return readFloat("Entre com um valor do tipo 'float' (0 default) : ", 0);
}
public static double readDouble(String pPrompt, double pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
return Double.valueOf(tLinha).doubleValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'double'");
System.out.println("Digite novamente...");
}
}
}
public static double readDouble(String pPrompt)
{
return readDouble(pPrompt,0);
}
public static double readDouble(double pVlr)
{
return readDouble("Entre com um valor do tipo 'double' (" + pVlr + " default) : ", pVlr);
}
public static double readDouble()
{
return readDouble("Entre com um valor do tipo 'double' (0 default) : ", 0);
}
public static boolean readBoolean(String pPrompt, boolean pValor)
{
while (true)
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
if (tLinha.equalsIgnoreCase("true"))
return true;
if (tLinha.equalsIgnoreCase("false"))
return false;
System.out.println("Valor invalido para o tipo 'boolean' (true/false)");
System.out.println("Digite novamente...");
}
}
public static boolean readBoolean(String pPrompt)
{
return readBoolean(pPrompt,false);
}
public static boolean readBoolean (boolean pVlr)
{
return readBoolean("Entre com um valor do tipo 'boolean' (true/false) (" + pVlr + " default) : ", pVlr);
}
public static boolean readBoolean()
{
return readBoolean("Entre com um valor do tipo 'boolean' (true/false) ('false' default) : ", false);
}
public static char readChar (String pPrompt, char pCh)
{
char tResult = pCh;
int tCh;
boolean tFim = false;
boolean tLido = false;
printPrompt(pPrompt);
while (!tFim)
{
try
{
tCh = System.in.read();
if (tCh < 0 || (char) tCh == '\n')
tFim = true;
else
if (! tLido && (char) tCh != '\r')
{
tResult = (char) tCh;
tLido = true;
}
}
catch (java.io.IOException tExcept)
{
tFim = true;
}
}
return tResult;
}
public static char readChar(String pPrompt)
{
return readChar(pPrompt,'[code]
public class Lab03Sistema {
Lab03Sistema vetoExtrato[] = new Lab03Sistema[10];
int numAge;
int numConta;
double valor;
private void leValores() {
do {
this.numAge = Console.readInt("Numero da Agencia : ");
} while (this.numAge <= 0);
do {
this.numConta = Console.readInt("Numero da Conta : ");
} while (this.numConta <= 0);
do {
this.valor = Console.readDouble("Valor : ");
} while (this.valor <= 0.0);
}
public void execCadastramento() {
String nome;
char opcao;
leValores();
do {
nome = Console.readString("Nome do Cliente : ");
} while (nome.equals(""));
opcao = Console.readChar("Confirma cadastramento (S/N) : ");
if (opcao != 'S' && opcao != 's') {
return;
}
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta, nome, this.valor);
cc1.gravar();
}
public void execSaque() {
char opcao;
leValores();
opcao = Console.readChar("Confirma saque (S/N) : ");
if (opcao != 'S' && opcao != 's')
return;
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
if (cc1.sacar(this.valor) == 0) {
System.out.println("Saldo Indisponivel");
} else {
cc1.gravar(); // persiste o saque
System.out.println("Saque Efetuado com Sucesso");
}
}
public void execDeposito() {
char opcao;
leValores();
opcao = Console.readChar("Confirma deposito (S/N) : ");
if (opcao != 'S' && opcao != 's')
return;
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
cc1.depositar(this.valor);
cc1.gravar(); // grava um novo arquivo contendo o valor atualizado do saldo.
}
public void execConsulta() {
do {
this.numAge = Console.readInt("Numero da Agencia : ");
} while (this.numAge <= 0);
do {
this.numConta = Console.readInt("Numero da Conta : ");
} while (this.numConta <= 0);
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
cc1.imprimir();
}
public void execExtrato(){
do{
this.numAge = Console.readInt("Numero da Agencia: ");
} while(this.numAge<=0);
do{
this.numConta = Console.readInt("Numero da Conta: ");
}while(this.numConta<=0);
for(int i=0; i<vetoExtrato.length;i++){
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(numAge, numConta, null, valor);
cc1.imprimir();
}
}
public static void main(String[] args) {
char opcao;
Lab03Sistema obj = new Lab03Sistema();
while (true) {
System.out.println("Entre com a opcao desejada");
System.out.println("1 - Cadastramento");
System.out.println("2 - Saque");
System.out.println("3 - Deposito");
System.out.println("4 - Consulta");
System.out.println("9 - Fim");
// System.out.println("Opcao : ");
opcao = Console.readChar("Opcao : ");
if (opcao == '9')
break;
switch (opcao) {
case '1':
obj.execCadastramento();
break;
case '2':
obj.execSaque();
break;
case '3':
obj.execDeposito();
break;
case '4':
obj.execConsulta();
break;
default:
System.out.println("Opcao invalida. Reentre.");
}
}
}
public Lab03Sistema() {
super();
}
}
public class Lab03ContaCorrente {
private int numAge = 0;
private int numConta = 0;
private String nome = "";
private double saldo = 0.0;
public int sacar(double pValor) {
if (this.saldo < pValor)
return 0;
this.saldo -= pValor;
return 1;
}
public void depositar(double pValor) {
this.saldo += pValor;
}
public Lab03ContaCorrente() {
super();
}
public Lab03ContaCorrente(int pNumAge, int pNumConta) {
setNumAge(pNumAge);
setNumConta(pNumConta);
// Carregar a conta corrente de um arquivo texto
recuperar();
}
/* Implementado devido ao laboratório 04. Desconsiderá-lo no laboratório 3 */
public boolean removerArquivo() {
File tArq1;
tArq1 = new File(this.numAge + "." + this.numConta + ".dat");
tArq1.delete();
tArq1 = new File(this.numAge + "." + this.numConta + ".hist");
tArq1.delete();
return true;
}
public boolean gravar() {
FileWriter tArq1;
PrintWriter tArq2;
try {
// abrir o aquivo
tArq1 = new FileWriter(getNumAge() + "." + getNumConta() + ".dat");
tArq2 = new PrintWriter(tArq1);
tArq2.println(getNumAge());
tArq2.println(getNumConta());
tArq2.println(getNome());
tArq2.println(getSaldo());
// fechar o arquivo
tArq2.close();
return true;
}
catch (IOException tExcept) {
tExcept.printStackTrace();
return false;
}
}
private void salvar(){
}
private void recuperar() {
FileReader tArq1 = null;
BufferedReader tArq2 = null;
int tQtde = 4;
try {
// abrir o arquivo
tArq1 = new FileReader(getNumAge() + "." + getNumConta() + ".dat");
tArq2 = new BufferedReader(tArq1);
// ler atributo/valor e colocar na matriz
String[] tLinha = new String[tQtde];
for (int i = 0; i < tQtde; i++) {
tLinha[i] = tArq2.readLine();
}
// fechar o arquivo
tArq2.close();
setNumAge(Integer.parseInt(tLinha[0]));
setNumConta(Integer.parseInt(tLinha[1]));
setNome(tLinha[2]);
setSaldo(Double.parseDouble(tLinha[3]));
} catch (IOException tExcept) {
tExcept.printStackTrace();
}
}
public Lab03ContaCorrente(int pNumAge, int pNumConta, String pNome,
double pSaldo) {
setNumAge(pNumAge);
setNumConta(pNumConta);
setNome(pNome);
setSaldo(pSaldo);
}
public void imprimir() {
System.out.println("------------------------------------------");
System.out.println("Agencia : " + getNumAge());
System.out.println("Conta : " + getNumConta());
System.out.println("Nome : " + getNome());
NumberFormat formatter;
formatter = NumberFormat.getCurrencyInstance(new Locale("pt", "BR"));
formatter.setMinimumFractionDigits(2);
System.out.println("Saldo : " + formatter.format(this.saldo));
}
public String getNome() {
return this.nome;
}
public double getSaldo() {
return this.saldo;
}
public void setNome(String string) {
this.nome = string;
}
public void setNumAge(int i) {
if ((i < 0) || (i > 9999))
System.out.println("Numero da agencia invalido");
this.numAge = i;
}
public void setNumConta(int i) {
if ((i < 0) || (i > 9999999))
System.out.println("Numero da conta invalido");
this.numConta = i;
}
public void setSaldo(double d) {
this.saldo = d;
}
public int getNumAge() {
return this.numAge;
}
public int getNumConta() {
return this.numConta;
}
}
public class Console
{
private static String readLine()
{
int tCh;
String tLinha = "";
boolean tFim = false;
while (!tFim)
{
try
{
tCh = System.in.read();
if (tCh < 0 || (char) tCh == '\n')
tFim = true;
else
if ((char) tCh != '\r')
tLinha = tLinha + (char) tCh;
}
catch (java.io.IOException tExcept)
{
tLinha = null;
tFim = true;
}
}
return tLinha;
}
private static void printPrompt(String pPrompt)
{
System.out.print(pPrompt);
System.out.flush();
}
private static byte ajustaByte(long pValor)
{
if (pValor < Byte.MIN_VALUE)
return Byte.MIN_VALUE;
if (pValor > Byte.MAX_VALUE)
return Byte.MAX_VALUE;
return (byte) pValor;
}
private static short ajustaShort(long pValor)
{
if (pValor < Short.MIN_VALUE)
return Short.MIN_VALUE;
if (pValor > Short.MAX_VALUE)
return Short.MAX_VALUE;
return (short) pValor;
}
private static int ajustaInt(long pValor)
{
if (pValor < Integer.MIN_VALUE)
return Integer.MIN_VALUE;
if (pValor > Integer.MAX_VALUE)
return Integer.MAX_VALUE;
return (int) pValor;
}
private static float ajustaFloat(double pValor)
{
if (pValor < Float.MIN_VALUE)
return Float.MIN_VALUE;
if (pValor > Float.MAX_VALUE)
return Float.MAX_VALUE;
return (float) pValor;
}
public static byte readByte(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaByte(pValor);
return Byte.valueOf(tLinha).byteValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'byte'");
System.out.println("Digite novamente...");
}
}
}
public static byte readByte(String pPrompt)
{
return readByte(pPrompt,0);
}
public static byte readByte(long pVlr)
{
byte tVlr = ajustaByte (pVlr);
return readByte("Entre com um valor do tipo 'byte' (" + tVlr + " default) : ", tVlr);
}
public static byte readByte()
{
return readByte("Entre com um valor do tipo 'byte' (0 default) : ", 0);
}
public static short readShort(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaShort(pValor);
return Short.valueOf(tLinha).shortValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'short'");
System.out.println("Digite novamente...");
}
}
}
public static short readShort(String pPrompt)
{
return readShort(pPrompt,0);
}
public static short readShort(long pVlr)
{
short tVlr = ajustaShort (pVlr);
return readShort("Entre com um valor do tipo 'short' (" + tVlr + " default) : ", tVlr);
}
public static short readShort()
{
return readShort("Entre com um valor do tipo 'short' (0 default) : ", 0);
}
public static int readInt(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaInt(pValor);
return Integer.valueOf(tLinha).intValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'int'");
System.out.println("Digite novamente...");
}
}
}
public static int readInt(String pPrompt)
{
return readInt(pPrompt,0);
}
public static int readInt(long pVlr)
{
int tVlr = ajustaInt (pVlr);
return readInt("Entre com um valor do tipo 'int' (" + tVlr + " default) : ", tVlr);
}
public static int readInt()
{
return readInt("Entre com um valor do tipo 'int' (0 default) : ", 0);
}
public static long readLong(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
return Long.valueOf(tLinha).longValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'long'");
System.out.println("Digite novamente...");
}
}
}
public static long readLong(String pPrompt)
{
return readLong(pPrompt,0);
}
public static long readLong(long pVlr)
{
return readLong("Entre com um valor do tipo 'long' (" + pVlr + " default) : ", pVlr);
}
public static long readLong()
{
return readLong("Entre com um valor do tipo 'long' (0 default) : ", 0);
}
public static float readFloat(String pPrompt, double pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaFloat(pValor);
return Float.valueOf(tLinha).floatValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'float'");
System.out.println("Digite novamente...");
}
}
}
public static float readFloat(String pPrompt)
{
return readFloat(pPrompt,0);
}
public static float readFloat(double pVlr)
{
float tVlr = ajustaFloat (pVlr);
return readFloat("Entre com um valor do tipo 'float' (" + tVlr + " default) : ", tVlr);
}
public static float readFloat()
{
return readFloat("Entre com um valor do tipo 'float' (0 default) : ", 0);
}
public static double readDouble(String pPrompt, double pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
return Double.valueOf(tLinha).doubleValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'double'");
System.out.println("Digite novamente...");
}
}
}
public static double readDouble(String pPrompt)
{
return readDouble(pPrompt,0);
}
public static double readDouble(double pVlr)
{
return readDouble("Entre com um valor do tipo 'double' (" + pVlr + " default) : ", pVlr);
}
public static double readDouble()
{
return readDouble("Entre com um valor do tipo 'double' (0 default) : ", 0);
}
public static boolean readBoolean(String pPrompt, boolean pValor)
{
while (true)
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
if (tLinha.equalsIgnoreCase("true"))
return true;
if (tLinha.equalsIgnoreCase("false"))
return false;
System.out.println("Valor invalido para o tipo 'boolean' (true/false)");
System.out.println("Digite novamente...");
}
}
public static boolean readBoolean(String pPrompt)
{
return readBoolean(pPrompt,false);
}
public static boolean readBoolean (boolean pVlr)
{
return readBoolean("Entre com um valor do tipo 'boolean' (true/false) (" + pVlr + " default) : ", pVlr);
}
public static boolean readBoolean()
{
return readBoolean("Entre com um valor do tipo 'boolean' (true/false) ('false' default) : ", false);
}
public static char readChar (String pPrompt, char pCh)
{
char tResult = pCh;
int tCh;
boolean tFim = false;
boolean tLido = false;
printPrompt(pPrompt);
while (!tFim)
{
try
{
tCh = System.in.read();
if (tCh < 0 || (char) tCh == '\n')
tFim = true;
else
if (! tLido && (char) tCh != '\r')
{
tResult = (char) tCh;
tLido = true;
}
}
catch (java.io.IOException tExcept)
{
tFim = true;
}
}
return tResult;
}
public static char readChar(String pPrompt)
{
return readChar(pPrompt,'\0');
}
public static char readChar(char pCh)
{
return readChar("Entre com um valor do tipo 'char' (" + pCh + " default) : ", pCh);
}
public static char readChar()
{
return readChar("Entre com um valor do tipo 'char' ('\0' default) : ", '\0');
}
public static String readString(String pPrompt, String pStr)
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine();
if (tLinha.equals(""))
return pStr;
return tLinha;
}
public static String readString(String pPrompt)
{
return readString(pPrompt,"");
}
public static String readString()
{
return readString("Entre com um valor do tipo 'String' (\"\" default) : ", "");
}
}
[/code]');
}
public static char readChar(char pCh)
{
return readChar("Entre com um valor do tipo 'char' (" + pCh + " default) : ", pCh);
}
public static char readChar()
{
return readChar("Entre com um valor do tipo 'char' ('[code]
public class Lab03Sistema {
Lab03Sistema vetoExtrato[] = new Lab03Sistema[10];
int numAge;
int numConta;
double valor;
private void leValores() {
do {
this.numAge = Console.readInt("Numero da Agencia : ");
} while (this.numAge <= 0);
do {
this.numConta = Console.readInt("Numero da Conta : ");
} while (this.numConta <= 0);
do {
this.valor = Console.readDouble("Valor : ");
} while (this.valor <= 0.0);
}
public void execCadastramento() {
String nome;
char opcao;
leValores();
do {
nome = Console.readString("Nome do Cliente : ");
} while (nome.equals(""));
opcao = Console.readChar("Confirma cadastramento (S/N) : ");
if (opcao != 'S' && opcao != 's') {
return;
}
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta, nome, this.valor);
cc1.gravar();
}
public void execSaque() {
char opcao;
leValores();
opcao = Console.readChar("Confirma saque (S/N) : ");
if (opcao != 'S' && opcao != 's')
return;
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
if (cc1.sacar(this.valor) == 0) {
System.out.println("Saldo Indisponivel");
} else {
cc1.gravar(); // persiste o saque
System.out.println("Saque Efetuado com Sucesso");
}
}
public void execDeposito() {
char opcao;
leValores();
opcao = Console.readChar("Confirma deposito (S/N) : ");
if (opcao != 'S' && opcao != 's')
return;
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
cc1.depositar(this.valor);
cc1.gravar(); // grava um novo arquivo contendo o valor atualizado do saldo.
}
public void execConsulta() {
do {
this.numAge = Console.readInt("Numero da Agencia : ");
} while (this.numAge <= 0);
do {
this.numConta = Console.readInt("Numero da Conta : ");
} while (this.numConta <= 0);
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
cc1.imprimir();
}
public void execExtrato(){
do{
this.numAge = Console.readInt("Numero da Agencia: ");
} while(this.numAge<=0);
do{
this.numConta = Console.readInt("Numero da Conta: ");
}while(this.numConta<=0);
for(int i=0; i<vetoExtrato.length;i++){
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(numAge, numConta, null, valor);
cc1.imprimir();
}
}
public static void main(String[] args) {
char opcao;
Lab03Sistema obj = new Lab03Sistema();
while (true) {
System.out.println("Entre com a opcao desejada");
System.out.println("1 - Cadastramento");
System.out.println("2 - Saque");
System.out.println("3 - Deposito");
System.out.println("4 - Consulta");
System.out.println("9 - Fim");
// System.out.println("Opcao : ");
opcao = Console.readChar("Opcao : ");
if (opcao == '9')
break;
switch (opcao) {
case '1':
obj.execCadastramento();
break;
case '2':
obj.execSaque();
break;
case '3':
obj.execDeposito();
break;
case '4':
obj.execConsulta();
break;
default:
System.out.println("Opcao invalida. Reentre.");
}
}
}
public Lab03Sistema() {
super();
}
}
public class Lab03ContaCorrente {
private int numAge = 0;
private int numConta = 0;
private String nome = "";
private double saldo = 0.0;
public int sacar(double pValor) {
if (this.saldo < pValor)
return 0;
this.saldo -= pValor;
return 1;
}
public void depositar(double pValor) {
this.saldo += pValor;
}
public Lab03ContaCorrente() {
super();
}
public Lab03ContaCorrente(int pNumAge, int pNumConta) {
setNumAge(pNumAge);
setNumConta(pNumConta);
// Carregar a conta corrente de um arquivo texto
recuperar();
}
/* Implementado devido ao laboratório 04. Desconsiderá-lo no laboratório 3 */
public boolean removerArquivo() {
File tArq1;
tArq1 = new File(this.numAge + "." + this.numConta + ".dat");
tArq1.delete();
tArq1 = new File(this.numAge + "." + this.numConta + ".hist");
tArq1.delete();
return true;
}
public boolean gravar() {
FileWriter tArq1;
PrintWriter tArq2;
try {
// abrir o aquivo
tArq1 = new FileWriter(getNumAge() + "." + getNumConta() + ".dat");
tArq2 = new PrintWriter(tArq1);
tArq2.println(getNumAge());
tArq2.println(getNumConta());
tArq2.println(getNome());
tArq2.println(getSaldo());
// fechar o arquivo
tArq2.close();
return true;
}
catch (IOException tExcept) {
tExcept.printStackTrace();
return false;
}
}
private void salvar(){
}
private void recuperar() {
FileReader tArq1 = null;
BufferedReader tArq2 = null;
int tQtde = 4;
try {
// abrir o arquivo
tArq1 = new FileReader(getNumAge() + "." + getNumConta() + ".dat");
tArq2 = new BufferedReader(tArq1);
// ler atributo/valor e colocar na matriz
String[] tLinha = new String[tQtde];
for (int i = 0; i < tQtde; i++) {
tLinha[i] = tArq2.readLine();
}
// fechar o arquivo
tArq2.close();
setNumAge(Integer.parseInt(tLinha[0]));
setNumConta(Integer.parseInt(tLinha[1]));
setNome(tLinha[2]);
setSaldo(Double.parseDouble(tLinha[3]));
} catch (IOException tExcept) {
tExcept.printStackTrace();
}
}
public Lab03ContaCorrente(int pNumAge, int pNumConta, String pNome,
double pSaldo) {
setNumAge(pNumAge);
setNumConta(pNumConta);
setNome(pNome);
setSaldo(pSaldo);
}
public void imprimir() {
System.out.println("------------------------------------------");
System.out.println("Agencia : " + getNumAge());
System.out.println("Conta : " + getNumConta());
System.out.println("Nome : " + getNome());
NumberFormat formatter;
formatter = NumberFormat.getCurrencyInstance(new Locale("pt", "BR"));
formatter.setMinimumFractionDigits(2);
System.out.println("Saldo : " + formatter.format(this.saldo));
}
public String getNome() {
return this.nome;
}
public double getSaldo() {
return this.saldo;
}
public void setNome(String string) {
this.nome = string;
}
public void setNumAge(int i) {
if ((i < 0) || (i > 9999))
System.out.println("Numero da agencia invalido");
this.numAge = i;
}
public void setNumConta(int i) {
if ((i < 0) || (i > 9999999))
System.out.println("Numero da conta invalido");
this.numConta = i;
}
public void setSaldo(double d) {
this.saldo = d;
}
public int getNumAge() {
return this.numAge;
}
public int getNumConta() {
return this.numConta;
}
}
public class Console
{
private static String readLine()
{
int tCh;
String tLinha = "";
boolean tFim = false;
while (!tFim)
{
try
{
tCh = System.in.read();
if (tCh < 0 || (char) tCh == '\n')
tFim = true;
else
if ((char) tCh != '\r')
tLinha = tLinha + (char) tCh;
}
catch (java.io.IOException tExcept)
{
tLinha = null;
tFim = true;
}
}
return tLinha;
}
private static void printPrompt(String pPrompt)
{
System.out.print(pPrompt);
System.out.flush();
}
private static byte ajustaByte(long pValor)
{
if (pValor < Byte.MIN_VALUE)
return Byte.MIN_VALUE;
if (pValor > Byte.MAX_VALUE)
return Byte.MAX_VALUE;
return (byte) pValor;
}
private static short ajustaShort(long pValor)
{
if (pValor < Short.MIN_VALUE)
return Short.MIN_VALUE;
if (pValor > Short.MAX_VALUE)
return Short.MAX_VALUE;
return (short) pValor;
}
private static int ajustaInt(long pValor)
{
if (pValor < Integer.MIN_VALUE)
return Integer.MIN_VALUE;
if (pValor > Integer.MAX_VALUE)
return Integer.MAX_VALUE;
return (int) pValor;
}
private static float ajustaFloat(double pValor)
{
if (pValor < Float.MIN_VALUE)
return Float.MIN_VALUE;
if (pValor > Float.MAX_VALUE)
return Float.MAX_VALUE;
return (float) pValor;
}
public static byte readByte(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaByte(pValor);
return Byte.valueOf(tLinha).byteValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'byte'");
System.out.println("Digite novamente...");
}
}
}
public static byte readByte(String pPrompt)
{
return readByte(pPrompt,0);
}
public static byte readByte(long pVlr)
{
byte tVlr = ajustaByte (pVlr);
return readByte("Entre com um valor do tipo 'byte' (" + tVlr + " default) : ", tVlr);
}
public static byte readByte()
{
return readByte("Entre com um valor do tipo 'byte' (0 default) : ", 0);
}
public static short readShort(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaShort(pValor);
return Short.valueOf(tLinha).shortValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'short'");
System.out.println("Digite novamente...");
}
}
}
public static short readShort(String pPrompt)
{
return readShort(pPrompt,0);
}
public static short readShort(long pVlr)
{
short tVlr = ajustaShort (pVlr);
return readShort("Entre com um valor do tipo 'short' (" + tVlr + " default) : ", tVlr);
}
public static short readShort()
{
return readShort("Entre com um valor do tipo 'short' (0 default) : ", 0);
}
public static int readInt(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaInt(pValor);
return Integer.valueOf(tLinha).intValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'int'");
System.out.println("Digite novamente...");
}
}
}
public static int readInt(String pPrompt)
{
return readInt(pPrompt,0);
}
public static int readInt(long pVlr)
{
int tVlr = ajustaInt (pVlr);
return readInt("Entre com um valor do tipo 'int' (" + tVlr + " default) : ", tVlr);
}
public static int readInt()
{
return readInt("Entre com um valor do tipo 'int' (0 default) : ", 0);
}
public static long readLong(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
return Long.valueOf(tLinha).longValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'long'");
System.out.println("Digite novamente...");
}
}
}
public static long readLong(String pPrompt)
{
return readLong(pPrompt,0);
}
public static long readLong(long pVlr)
{
return readLong("Entre com um valor do tipo 'long' (" + pVlr + " default) : ", pVlr);
}
public static long readLong()
{
return readLong("Entre com um valor do tipo 'long' (0 default) : ", 0);
}
public static float readFloat(String pPrompt, double pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaFloat(pValor);
return Float.valueOf(tLinha).floatValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'float'");
System.out.println("Digite novamente...");
}
}
}
public static float readFloat(String pPrompt)
{
return readFloat(pPrompt,0);
}
public static float readFloat(double pVlr)
{
float tVlr = ajustaFloat (pVlr);
return readFloat("Entre com um valor do tipo 'float' (" + tVlr + " default) : ", tVlr);
}
public static float readFloat()
{
return readFloat("Entre com um valor do tipo 'float' (0 default) : ", 0);
}
public static double readDouble(String pPrompt, double pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
return Double.valueOf(tLinha).doubleValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'double'");
System.out.println("Digite novamente...");
}
}
}
public static double readDouble(String pPrompt)
{
return readDouble(pPrompt,0);
}
public static double readDouble(double pVlr)
{
return readDouble("Entre com um valor do tipo 'double' (" + pVlr + " default) : ", pVlr);
}
public static double readDouble()
{
return readDouble("Entre com um valor do tipo 'double' (0 default) : ", 0);
}
public static boolean readBoolean(String pPrompt, boolean pValor)
{
while (true)
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
if (tLinha.equalsIgnoreCase("true"))
return true;
if (tLinha.equalsIgnoreCase("false"))
return false;
System.out.println("Valor invalido para o tipo 'boolean' (true/false)");
System.out.println("Digite novamente...");
}
}
public static boolean readBoolean(String pPrompt)
{
return readBoolean(pPrompt,false);
}
public static boolean readBoolean (boolean pVlr)
{
return readBoolean("Entre com um valor do tipo 'boolean' (true/false) (" + pVlr + " default) : ", pVlr);
}
public static boolean readBoolean()
{
return readBoolean("Entre com um valor do tipo 'boolean' (true/false) ('false' default) : ", false);
}
public static char readChar (String pPrompt, char pCh)
{
char tResult = pCh;
int tCh;
boolean tFim = false;
boolean tLido = false;
printPrompt(pPrompt);
while (!tFim)
{
try
{
tCh = System.in.read();
if (tCh < 0 || (char) tCh == '\n')
tFim = true;
else
if (! tLido && (char) tCh != '\r')
{
tResult = (char) tCh;
tLido = true;
}
}
catch (java.io.IOException tExcept)
{
tFim = true;
}
}
return tResult;
}
public static char readChar(String pPrompt)
{
return readChar(pPrompt,'\0');
}
public static char readChar(char pCh)
{
return readChar("Entre com um valor do tipo 'char' (" + pCh + " default) : ", pCh);
}
public static char readChar()
{
return readChar("Entre com um valor do tipo 'char' ('\0' default) : ", '\0');
}
public static String readString(String pPrompt, String pStr)
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine();
if (tLinha.equals(""))
return pStr;
return tLinha;
}
public static String readString(String pPrompt)
{
return readString(pPrompt,"");
}
public static String readString()
{
return readString("Entre com um valor do tipo 'String' (\"\" default) : ", "");
}
}
[/code]' default) : ", '[code]
public class Lab03Sistema {
Lab03Sistema vetoExtrato[] = new Lab03Sistema[10];
int numAge;
int numConta;
double valor;
private void leValores() {
do {
this.numAge = Console.readInt("Numero da Agencia : ");
} while (this.numAge <= 0);
do {
this.numConta = Console.readInt("Numero da Conta : ");
} while (this.numConta <= 0);
do {
this.valor = Console.readDouble("Valor : ");
} while (this.valor <= 0.0);
}
public void execCadastramento() {
String nome;
char opcao;
leValores();
do {
nome = Console.readString("Nome do Cliente : ");
} while (nome.equals(""));
opcao = Console.readChar("Confirma cadastramento (S/N) : ");
if (opcao != 'S' && opcao != 's') {
return;
}
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta, nome, this.valor);
cc1.gravar();
}
public void execSaque() {
char opcao;
leValores();
opcao = Console.readChar("Confirma saque (S/N) : ");
if (opcao != 'S' && opcao != 's')
return;
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
if (cc1.sacar(this.valor) == 0) {
System.out.println("Saldo Indisponivel");
} else {
cc1.gravar(); // persiste o saque
System.out.println("Saque Efetuado com Sucesso");
}
}
public void execDeposito() {
char opcao;
leValores();
opcao = Console.readChar("Confirma deposito (S/N) : ");
if (opcao != 'S' && opcao != 's')
return;
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
cc1.depositar(this.valor);
cc1.gravar(); // grava um novo arquivo contendo o valor atualizado do saldo.
}
public void execConsulta() {
do {
this.numAge = Console.readInt("Numero da Agencia : ");
} while (this.numAge <= 0);
do {
this.numConta = Console.readInt("Numero da Conta : ");
} while (this.numConta <= 0);
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(this.numAge, this.numConta);
cc1.imprimir();
}
public void execExtrato(){
do{
this.numAge = Console.readInt("Numero da Agencia: ");
} while(this.numAge<=0);
do{
this.numConta = Console.readInt("Numero da Conta: ");
}while(this.numConta<=0);
for(int i=0; i<vetoExtrato.length;i++){
Lab03ContaCorrente cc1 = new Lab03ContaCorrente(numAge, numConta, null, valor);
cc1.imprimir();
}
}
public static void main(String[] args) {
char opcao;
Lab03Sistema obj = new Lab03Sistema();
while (true) {
System.out.println("Entre com a opcao desejada");
System.out.println("1 - Cadastramento");
System.out.println("2 - Saque");
System.out.println("3 - Deposito");
System.out.println("4 - Consulta");
System.out.println("9 - Fim");
// System.out.println("Opcao : ");
opcao = Console.readChar("Opcao : ");
if (opcao == '9')
break;
switch (opcao) {
case '1':
obj.execCadastramento();
break;
case '2':
obj.execSaque();
break;
case '3':
obj.execDeposito();
break;
case '4':
obj.execConsulta();
break;
default:
System.out.println("Opcao invalida. Reentre.");
}
}
}
public Lab03Sistema() {
super();
}
}
public class Lab03ContaCorrente {
private int numAge = 0;
private int numConta = 0;
private String nome = "";
private double saldo = 0.0;
public int sacar(double pValor) {
if (this.saldo < pValor)
return 0;
this.saldo -= pValor;
return 1;
}
public void depositar(double pValor) {
this.saldo += pValor;
}
public Lab03ContaCorrente() {
super();
}
public Lab03ContaCorrente(int pNumAge, int pNumConta) {
setNumAge(pNumAge);
setNumConta(pNumConta);
// Carregar a conta corrente de um arquivo texto
recuperar();
}
/* Implementado devido ao laboratório 04. Desconsiderá-lo no laboratório 3 */
public boolean removerArquivo() {
File tArq1;
tArq1 = new File(this.numAge + "." + this.numConta + ".dat");
tArq1.delete();
tArq1 = new File(this.numAge + "." + this.numConta + ".hist");
tArq1.delete();
return true;
}
public boolean gravar() {
FileWriter tArq1;
PrintWriter tArq2;
try {
// abrir o aquivo
tArq1 = new FileWriter(getNumAge() + "." + getNumConta() + ".dat");
tArq2 = new PrintWriter(tArq1);
tArq2.println(getNumAge());
tArq2.println(getNumConta());
tArq2.println(getNome());
tArq2.println(getSaldo());
// fechar o arquivo
tArq2.close();
return true;
}
catch (IOException tExcept) {
tExcept.printStackTrace();
return false;
}
}
private void salvar(){
}
private void recuperar() {
FileReader tArq1 = null;
BufferedReader tArq2 = null;
int tQtde = 4;
try {
// abrir o arquivo
tArq1 = new FileReader(getNumAge() + "." + getNumConta() + ".dat");
tArq2 = new BufferedReader(tArq1);
// ler atributo/valor e colocar na matriz
String[] tLinha = new String[tQtde];
for (int i = 0; i < tQtde; i++) {
tLinha[i] = tArq2.readLine();
}
// fechar o arquivo
tArq2.close();
setNumAge(Integer.parseInt(tLinha[0]));
setNumConta(Integer.parseInt(tLinha[1]));
setNome(tLinha[2]);
setSaldo(Double.parseDouble(tLinha[3]));
} catch (IOException tExcept) {
tExcept.printStackTrace();
}
}
public Lab03ContaCorrente(int pNumAge, int pNumConta, String pNome,
double pSaldo) {
setNumAge(pNumAge);
setNumConta(pNumConta);
setNome(pNome);
setSaldo(pSaldo);
}
public void imprimir() {
System.out.println("------------------------------------------");
System.out.println("Agencia : " + getNumAge());
System.out.println("Conta : " + getNumConta());
System.out.println("Nome : " + getNome());
NumberFormat formatter;
formatter = NumberFormat.getCurrencyInstance(new Locale("pt", "BR"));
formatter.setMinimumFractionDigits(2);
System.out.println("Saldo : " + formatter.format(this.saldo));
}
public String getNome() {
return this.nome;
}
public double getSaldo() {
return this.saldo;
}
public void setNome(String string) {
this.nome = string;
}
public void setNumAge(int i) {
if ((i < 0) || (i > 9999))
System.out.println("Numero da agencia invalido");
this.numAge = i;
}
public void setNumConta(int i) {
if ((i < 0) || (i > 9999999))
System.out.println("Numero da conta invalido");
this.numConta = i;
}
public void setSaldo(double d) {
this.saldo = d;
}
public int getNumAge() {
return this.numAge;
}
public int getNumConta() {
return this.numConta;
}
}
public class Console
{
private static String readLine()
{
int tCh;
String tLinha = "";
boolean tFim = false;
while (!tFim)
{
try
{
tCh = System.in.read();
if (tCh < 0 || (char) tCh == '\n')
tFim = true;
else
if ((char) tCh != '\r')
tLinha = tLinha + (char) tCh;
}
catch (java.io.IOException tExcept)
{
tLinha = null;
tFim = true;
}
}
return tLinha;
}
private static void printPrompt(String pPrompt)
{
System.out.print(pPrompt);
System.out.flush();
}
private static byte ajustaByte(long pValor)
{
if (pValor < Byte.MIN_VALUE)
return Byte.MIN_VALUE;
if (pValor > Byte.MAX_VALUE)
return Byte.MAX_VALUE;
return (byte) pValor;
}
private static short ajustaShort(long pValor)
{
if (pValor < Short.MIN_VALUE)
return Short.MIN_VALUE;
if (pValor > Short.MAX_VALUE)
return Short.MAX_VALUE;
return (short) pValor;
}
private static int ajustaInt(long pValor)
{
if (pValor < Integer.MIN_VALUE)
return Integer.MIN_VALUE;
if (pValor > Integer.MAX_VALUE)
return Integer.MAX_VALUE;
return (int) pValor;
}
private static float ajustaFloat(double pValor)
{
if (pValor < Float.MIN_VALUE)
return Float.MIN_VALUE;
if (pValor > Float.MAX_VALUE)
return Float.MAX_VALUE;
return (float) pValor;
}
public static byte readByte(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaByte(pValor);
return Byte.valueOf(tLinha).byteValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'byte'");
System.out.println("Digite novamente...");
}
}
}
public static byte readByte(String pPrompt)
{
return readByte(pPrompt,0);
}
public static byte readByte(long pVlr)
{
byte tVlr = ajustaByte (pVlr);
return readByte("Entre com um valor do tipo 'byte' (" + tVlr + " default) : ", tVlr);
}
public static byte readByte()
{
return readByte("Entre com um valor do tipo 'byte' (0 default) : ", 0);
}
public static short readShort(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaShort(pValor);
return Short.valueOf(tLinha).shortValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'short'");
System.out.println("Digite novamente...");
}
}
}
public static short readShort(String pPrompt)
{
return readShort(pPrompt,0);
}
public static short readShort(long pVlr)
{
short tVlr = ajustaShort (pVlr);
return readShort("Entre com um valor do tipo 'short' (" + tVlr + " default) : ", tVlr);
}
public static short readShort()
{
return readShort("Entre com um valor do tipo 'short' (0 default) : ", 0);
}
public static int readInt(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaInt(pValor);
return Integer.valueOf(tLinha).intValue();
}
catch (NumberFormatException tExcept)
{
System.out.println("Valor invalido para o tipo 'int'");
System.out.println("Digite novamente...");
}
}
}
public static int readInt(String pPrompt)
{
return readInt(pPrompt,0);
}
public static int readInt(long pVlr)
{
int tVlr = ajustaInt (pVlr);
return readInt("Entre com um valor do tipo 'int' (" + tVlr + " default) : ", tVlr);
}
public static int readInt()
{
return readInt("Entre com um valor do tipo 'int' (0 default) : ", 0);
}
public static long readLong(String pPrompt, long pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
return Long.valueOf(tLinha).longValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'long'");
System.out.println("Digite novamente...");
}
}
}
public static long readLong(String pPrompt)
{
return readLong(pPrompt,0);
}
public static long readLong(long pVlr)
{
return readLong("Entre com um valor do tipo 'long' (" + pVlr + " default) : ", pVlr);
}
public static long readLong()
{
return readLong("Entre com um valor do tipo 'long' (0 default) : ", 0);
}
public static float readFloat(String pPrompt, double pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return ajustaFloat(pValor);
return Float.valueOf(tLinha).floatValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'float'");
System.out.println("Digite novamente...");
}
}
}
public static float readFloat(String pPrompt)
{
return readFloat(pPrompt,0);
}
public static float readFloat(double pVlr)
{
float tVlr = ajustaFloat (pVlr);
return readFloat("Entre com um valor do tipo 'float' (" + tVlr + " default) : ", tVlr);
}
public static float readFloat()
{
return readFloat("Entre com um valor do tipo 'float' (0 default) : ", 0);
}
public static double readDouble(String pPrompt, double pValor)
{
while (true)
{
try
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
return Double.valueOf(tLinha).doubleValue();
}
catch (NumberFormatException e)
{
System.out.println("Valor invalido para o tipo 'double'");
System.out.println("Digite novamente...");
}
}
}
public static double readDouble(String pPrompt)
{
return readDouble(pPrompt,0);
}
public static double readDouble(double pVlr)
{
return readDouble("Entre com um valor do tipo 'double' (" + pVlr + " default) : ", pVlr);
}
public static double readDouble()
{
return readDouble("Entre com um valor do tipo 'double' (0 default) : ", 0);
}
public static boolean readBoolean(String pPrompt, boolean pValor)
{
while (true)
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine().trim();
if (tLinha.equals(""))
return pValor;
if (tLinha.equalsIgnoreCase("true"))
return true;
if (tLinha.equalsIgnoreCase("false"))
return false;
System.out.println("Valor invalido para o tipo 'boolean' (true/false)");
System.out.println("Digite novamente...");
}
}
public static boolean readBoolean(String pPrompt)
{
return readBoolean(pPrompt,false);
}
public static boolean readBoolean (boolean pVlr)
{
return readBoolean("Entre com um valor do tipo 'boolean' (true/false) (" + pVlr + " default) : ", pVlr);
}
public static boolean readBoolean()
{
return readBoolean("Entre com um valor do tipo 'boolean' (true/false) ('false' default) : ", false);
}
public static char readChar (String pPrompt, char pCh)
{
char tResult = pCh;
int tCh;
boolean tFim = false;
boolean tLido = false;
printPrompt(pPrompt);
while (!tFim)
{
try
{
tCh = System.in.read();
if (tCh < 0 || (char) tCh == '\n')
tFim = true;
else
if (! tLido && (char) tCh != '\r')
{
tResult = (char) tCh;
tLido = true;
}
}
catch (java.io.IOException tExcept)
{
tFim = true;
}
}
return tResult;
}
public static char readChar(String pPrompt)
{
return readChar(pPrompt,'\0');
}
public static char readChar(char pCh)
{
return readChar("Entre com um valor do tipo 'char' (" + pCh + " default) : ", pCh);
}
public static char readChar()
{
return readChar("Entre com um valor do tipo 'char' ('\0' default) : ", '\0');
}
public static String readString(String pPrompt, String pStr)
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine();
if (tLinha.equals(""))
return pStr;
return tLinha;
}
public static String readString(String pPrompt)
{
return readString(pPrompt,"");
}
public static String readString()
{
return readString("Entre com um valor do tipo 'String' (\"\" default) : ", "");
}
}
[/code]');
}
public static String readString(String pPrompt, String pStr)
{
String tLinha;
printPrompt(pPrompt);
tLinha = readLine();
if (tLinha.equals(""))
return pStr;
return tLinha;
}
public static String readString(String pPrompt)
{
return readString(pPrompt,"");
}
public static String readString()
{
return readString("Entre com um valor do tipo 'String' (\"\" default) : ", "");
}
}
Muito obrigado pela atenção!!!