Só atualizando minha situação, consegui carregar as variáveis do arquivo e inicializar a classe, se possivel gostaria que dessem uma olhada pra ver se tem alguma parte da programacao que estou fazendo que pode dar problema no futuro.
E não consegui usar o constructor do array, não tem como? É mais simples nesse loop mesmo?
apples.java
[code]import java.util.;
import java.io.;
class apples{
public static void main(String[] args){
final int reboco = 0;
final int contrapiso = 0;
int i;
int j;
int k;
int p;
//inicializa os apartamentos
servicoApartamento[][] servicos = new servicoApartamento[24][24];
for(i = 0; i < servicos.length; ++i){
for(j = 0; j < 24; ++j){
servicos[i][j] = new servicoApartamento();
}
}
//carrega apartamentos
String[] temp = new String[20];
String[] temp2 = new String[20];
try{
// Open the file that is the first
// command line parameter
FileInputStream fstream = new FileInputStream("teste.txt");
// Get the object of DataInputStream
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
//Read File Line By Line
while ((strLine = br.readLine()) != null) {
temp = strLine.split(",");
System.out.println (strLine);
Arrays.fill(temp2, "");
i = Integer.parseInt(temp[0]);
p = servicos[i][0].servicoIndex(temp[1]);
servicos[i][p].setServico(temp[1]);
servicos[i][p].setDataInicio(Integer.parseInt(temp[2].substring(0, 2)), Integer.parseInt(temp[2].substring(2, 4)), Integer.parseInt(temp[2].substring(4, 8)));
servicos[i][p].setDataFim(Integer.parseInt(temp[3].substring(0, 2)), Integer.parseInt(temp[3].substring(2, 4)), Integer.parseInt(temp[3].substring(4, 8)));
j = 0;
k = 0;
for( k = 4; k < temp.length; ++k){
temp2[j] = temp[k];
j++;
}
servicos[i][p].setFuncionarios(temp2);
}
//Close the input stream
in.close();
}catch (Exception e){//Catch exception if any
System.err.println("Error: " + e.getMessage());
}
//testando
for(i = 0; i < servicos.length; ++i){
for(j = 0; j < servicos[i].length; ++j){
if(servicos[i][j].getFuncionarios() != null)
System.out.println(servicos[i][j].getServico() + " entro");
}
}
}
}
[/code]
servicoApartamento.java
[code]import java.util.*;
public class servicoApartamento {
private String servico;
private int porcentagem;
private boolean concluido;
private Calendar dataInicio = Calendar.getInstance();
private Calendar dataFim = Calendar.getInstance();
private String[] funcionarios;
public servicoApartamento(){};
public servicoApartamento(String servicoA, int porcentagemA, boolean concluidoA, Calendar dataInicioA, Calendar dataFimA, String[] funcionariosA){
servico = servicoA;
porcentagem = porcentagemA;
concluido = concluidoA;
dataInicio = dataInicioA;
dataFim = dataFimA;
funcionarios = funcionariosA;
}
public void setServico(String servicoA){
servico = servicoA;
}
public void setPorcentagem(int porcA){
porcentagem = porcA;
}
public void setDataInicio(int dia, int mes, int ano){
dataInicio.set(ano, mes, dia);
}
public void setDataFim(int dia, int mes, int ano){
dataFim.set(ano, mes, dia);
}
public void setFuncionarios(String[] funcionariosA){
funcionarios = funcionariosA;
}
public String getServico(){
return servico;
}
public int getPorcentagem(){
return porcentagem;
}
public boolean getConcluido(){
return concluido;
}
public Calendar getDataInicio(){
return dataInicio;
}
public Calendar getDataFim(){
return dataFim;
}
public String[] getFuncionarios(){
return funcionarios;
}
private int awe;
public int servicoIndex(String serviA){
if(serviA.equals("reboco"))
awe = 0;
else if(serviA.equals("contrapiso"))
awe = 1;
return awe;
}
}
[/code]
amanha vou trabalhar na escrita do arquivo, se puderem já dar umas dicas pro loop que vou ter de fazer…
vlws