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