Dúvida em um exercício - Java.io Correspondência de Arquivos

0 respostas
R

O enunciado da pergunta está em anexo.

Eu fiz o básico, mas to me complicando no resto:Eu não consegui entender bem esse assunto, então não resolvam para mim e sim me auxiliem nas dúvidas.

Esse CreateTextFile faz as transferencias. (trans.txt), como ficaria o arquivo do registro mestre?

AccountRecord.java
public class AccountRecord {
	private int account;
	private String firstName;
	private String lastName;
	private double balance;
	
	public AccountRecord(){
		this(0,"","",0.0); //chama o construtor com quatro argumentos
	}
	//inicializa um registro
	public AccountRecord(int acct, String first, String last, double bal ){
		setAccount(acct);
		setFirstName(first);
		setLastName(last);
		setBalance(bal);
	}
	
	//configura numero conta
	public void setAccount(int acct){
		account = acct;
	}
	
	public int getAccount(){
		return account;
	}
	
	public void setFirstName(String first){
		firstName = first;
	}
	
	public String getFirstName(){
		return firstName;
	}
	
	public void setLastName(String last){
		lastName = last;
	}
	
	public String getLastName(){
		return lastName;
	}
	
	public void setBalance(double bal){
		balance = bal;
	}
	
	public double getBalance(){
		return balance;
	}
	
	public double combine(TransactionRecord object){
		return this.balance + object.getAmount();
	}

}
TransactionRecord.java
public class TransactionRecord {
	private int accountNumber;
	private double amount;
	
	public void setAccountNumber(int acc){
		this.accountNumber = acc;
	}
	
	public int getAccountNumber(){
		return accountNumber;
	}
	
	public void setAmount(double money){
		this.amount = money;
	}
	
	public double getAmount(){
		return amount;
	}
}
CreateTextFile.java
import java.io.FileNotFoundException;
import java.lang.SecurityException;
import java.util.Formatter;
import java.util.FormatterClosedException;
import java.util.NoSuchElementException;
import java.util.Scanner;


public class CreateTextFile {
	private Formatter output;
	
	public void openFile(){
		try{
			output = new Formatter("trans.txt");
		}
		catch(SecurityException securityException){
			System.err.println("Você não tem acesso a esse arquivo");
			System.exit(1);
		}
		catch(FileNotFoundException filesNotFoundException){
			System.err.println("Erro durante a criação do arquivo.");
			System.exit(1);
		}
	}//fim do método openFile
	
	public void addRecords(){
		AccountRecord record = new AccountRecord();
		
		Scanner input = new Scanner(System.in);
		
		System.out.printf("%s\n%s\n%s\n%s", "Para terminar a entrada,digite o indicador do final do arquivo",
				"quando você for dar um entrada." ,
				"Em UNIX/LINUX/Mac OS X digite <ctrl>d então pressione Enter",
				"Em Windows digite <ctrl>z então Pressione Enter.\n\n");
		
		System.out.printf("%s\n", "Entre com um número de conta (> 0),nome,sobrenome e saldo: ");
		
		while(input.hasNext()){
			try{
				//recupera os dados para a saída
				record.setAccount(input.nextInt());
				record.setFirstName(input.next());
				record.setLastName(input.next());
				record.setBalance(input.nextDouble());
				
				if(record.getAccount() > 0){
					//grava um novo arquivo
					output.format("%d %s %s %.2f\n", record.getAccount(), record.getFirstName(), record.getLastName(), record.getBalance());
				}//fim do if
				else{
					System.out.println("Número da Conta precisa ser maior que 0");
				}
			}//fim do try
			catch(FormatterClosedException formatterClosedException){
				System.err.println("Erro durante a escrita no arquivo.");
				return;
			}//fim do catch
			catch(NoSuchElementException elementException){
				System.err.println("\nEntrada inválida.Por favor tente de novo.");
				input.nextLine(); //descarta entrada do usuário	
			}//fim do catch
			
			System.out.printf("%s %s\n%s", "Entre com um número de conta (> 0),nome,sobrenome e saldo: ", " ?");
		}//fim do while
	}//fim do método addRecords

	//fecha o arquivo
	public void closeFile(){
		if(output != null)
			output.close();
	}
}

Criado 13 de abril de 2008
Respostas 0
Participantes 1