Pessoal! se alguém puder me ajudar ficarei grato, não consigo implentar na linha // IMPLEMENTE AQUI, não consigo desenvolver esse código alguém pode me ajudar.
Obs.: o ArquivoPonto.txt já está criado e o relatorio.txt também já está criado…
se alguém pode me ajudar ficarei grato…
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.StringTokenizer;
public class CJPontoTads
{
//Atributos da classe
private CDadosPontoFuncionario[] vetFuncionarios = null;
private int iAno = 0;
private String sMes = "";
private int iTotalDiasTrabalhados = 0;
private int iQtdFuncionarios = 0;
/***********************************************************
*Nome: CJPontoTads()
*Descrição: construtor da classe
*Parametros: Nenhum
*Retorno: Nenhum
************************************************************/
public CJPontoTads()
{
leArquivo();
geraRelatorio();
}
/***********************************************************
*Nome: leArquivo()
*Descrição: realiza a leitura do arquivo de entrada
*Parametros: Nenhum
*Retorno: Nenhum
************************************************************/
public void leArquivo()
{
//Variáveis locais utilizadas para a abertura do arquivo
File prArquivo = null;
FileReader prLeitorArquivo = null;
BufferedReader prBufferLeitura = null;
try
{
//Abertura do arquivo
prArquivo = new File(getClass().getResource("ArquivoPonto.txt").toURI());
//Verifica se o arquivo existe
if (!prArquivo.exists())
{
System.out.println("Nao foi possivel abrir o arquivo");
System.exit(1);
}
//Cria os objetos de leitura
prLeitorArquivo = new FileReader(prArquivo);
prBufferLeitura = new BufferedReader(prLeitorArquivo);
//Extrai a primeira linha do arquivo contendo mês e ano
StringTokenizer stQuebra = new StringTokenizer(prBufferLeitura.readLine(),";");
sMes = stQuebra.nextToken();
iAno = Integer.parseInt(stQuebra.nextToken());
//Extrai a segunda e terceira linhas contendo o total de dias trabalhados e número de funcionários
iTotalDiasTrabalhados = Integer.parseInt(prBufferLeitura.readLine());
iQtdFuncionarios = Integer.parseInt(prBufferLeitura.readLine());
//Aloca recursos com base nos dados lidos
alocaMemoria();
//Verifica se a memória foi alocada
if(vetFuncionarios == null)
{
System.out.println("Memória não alocada");
System.exit(1);
}
//Realiza a leitura dos dados de ponto do mês para os funcionários
for (int iIndice=0; iIndice < (iTotalDiasTrabalhados * iQtdFuncionarios); iIndice++)
{
stQuebra = new StringTokenizer(prBufferLeitura.readLine(),";");
//Obtem os tokens da linha (nome, dia, ponto manha, ponto tarde)
String sTempNome = stQuebra.nextToken();
//Obtem o indice a ser inserido
int iPosicao = insereRegistro(sTempNome);
//Verifica se o funcionário já foi cadastrado no vetor
if (vetFuncionarios[iPosicao].getNome().equals(""))
{
vetFuncionarios[iPosicao].setNome(sTempNome);
}
//Obtém o dia do ponto
int iDia = Integer.parseInt(stQuebra.nextToken());
//Insere os demais dados do funcionario
vetFuncionarios[iPosicao].setPontoManhaDia(iDia-1, Integer.parseInt(stQuebra.nextToken()));
vetFuncionarios[iPosicao].setPontoTardeDia(iDia-1, Integer.parseInt(stQuebra.nextToken()));
}
//Fecha os objetos de leitura
prBufferLeitura.close();
prLeitorArquivo.close();
}
catch(Exception e)
{
System.out.println("Erro durante a leitura do arquivo");
}
}
/***********************************************************
*Nome: alocaMemoria()
*Descrição: responsável por alocar a memória para os objetos de classe
*Parametros: Nenhum
*Retorno: Nenhum
************************************************************/
public void alocaMemoria()
{
// IMPLEMENTE AQUI
}
/***********************************************************
*Nome: insereRegistro()
*Descrição: responsável por verificar a posição em que o funcionnário será inserido
*Parametros: String
*Retorno: int
************************************************************/
public int insereRegistro(String sNome)
{
//Percorre o vetor de funcionários para avaliar a posição de insersao
for (int iFuncionario=0; iFuncionario < iQtdFuncionarios; iFuncionario++)
{
if (vetFuncionarios[iFuncionario].getNome().equals(sNome) || vetFuncionarios[iFuncionario].getNome().equals(""))
{
return iFuncionario;
}
}
return -1;
}
/***********************************************************
*Nome: geraRelatorio()
*Descrição: realiza a escrita do arquivo de saida
*Parametros: Nenhum
*Retorno: Nenhum
************************************************************/
public void geraRelatorio()
{
// IMPLEMENTE AQUI
}
/***********************************************************
*Nome: main()
*Descrição: método principal de um programa Java
*Parametros: String[]
*Retorno: Nenhum
************************************************************/
public static void main(String args[])
{
new CJPontoTads();
}
}