Organizar dados apartir de um ficheiro .txt

0 respostas
A

A fazer um projeto surgiu-me uma complicação à qual eu não estou a conseguir resolver, ora a dúvida é:

Eu estou a desenvolver um programa que lê de um ficheiro de txt dados de alguns indivíduos e estes dados estão postos no ficheiro txt da seguinte maneira, nome sexo idade , exemplo do ficheiro txt :

joao masculino 19
tiago masculino 30
joana feminino 90

Agora o que eu tenho que fazer é ler este ficheiro txt, fazendo algumas operações com estes dados. Contudo o que eu pretendo neste momento fazer é, que o programa imprima no ecra apenas 5 linhas deste documento, ou seja que só imprima os dados referentes a 5 pessoas, desta forma o utilizador para ver os restantes dados tem que escrever no teclado um caracter para passar para a proxima pagina e ai aparecerem mais 5 linhas do txt e eu ainda sei que o ficheiro nao pode ter mais que 50 dados.

Visto que eu tenho várias operaçoes a fazer eu decidi por numa class a informaçao referente a uma só linha, noutra a informaçao referente a todas as linhas do ficheiro e por ultimo uma class run que faça o que eu pretendo.
ora aqui vai o que eu já fiz:

public class Informacaolinha {

private String nome;
private String sexo;
private int idade;

public Informacaolinha (String n, String a, int ti){
	
	nome = n;
	sexo = a;
	idade = ti;
	
}

public String dados(){
	return nome+" "+sexo+" "+idade;
	
}
	
}
public class Informacaotodas {

	int lista, posicao;
	Informacaolinha dados[][];
	
	public Informacaotodas(){
		
		dados = new Informacaolinha[10][5];
		lista=0;
		posicao=0;
		
	}
	
	public void Addlist(Informacaolinha m){
		
		dados[lista][posicao]=m;
		posicao++;
		
		if(posicao==5){
			lista++;
			posicao=0;
			
		}
		
	}
}

ficheiro run :

public class Run{

	public static void main(String[] args)throws IOException {  
      
		BufferedReader in;
		in = new BufferedReader( new FileReader("ficheiro.txt") );
		Scanner sc = new Scanner(System.in);  
        char opcao;
        char proximapagina;
        System.out.print("Escolha a opcao D para ver os dados ");  
        opcao = sc.nextLine().charAt(0);
        if(opcao=='D'){
        	
        	// Aqui neste passo e que pretendo que aparece a lista dos dados aparecendo apenas uma pagina com 5 dados
        	System.out.print("Se deseja ir para a proxima pagina escreva: >  : ");
        	proximapagina = sc.nextLine().charAt(0);
        	
        	//Se o utilizador utilizar o caracter ">" o programa imprime os seguintes 5 dados do ficheiro txt
        }
	}
}

Espero que consigam entender a minha duvida
Obrigado

Criado 6 de abril de 2012
Respostas 0
Participantes 1