Boa tarde!
Sou iniciante em java e implementei uma classe guardando vetor de horas do dia já atribuindo valores às horas e uma classe com vetor dias da semana com as horas da classe de horas, gostaria de saber como posso através de uma terceira classe marcar um evento específico em um vetor.
Agradeço a todos que puderem me ajudar 
Vetor dentro de vetor
5 Respostas
Posta seu codigo, se puder
[]´s
Precisaria no caso de fazer marcação de entrevista de emprego, criei a classe Patrão que implementa cinco dias da semana disponíveis dele…e cada dia da semana os horários…queria deixar os horários predefinidos e através de uma outra classe marcar o dia e a hora que eu desejo, sem uso de interface gráfica
public class Semana
{
private String dia;
private Hora disponivel[] = new Hora[24];
public Semana(){
dia = “”;
for (int i=0; i< disponivel.length;i++){
disponivel[i] = new Hora();
}
}
public void setDia(String dia){
this.dia = dia;
}
public String getDia(){
return dia;
}
}
=================================================================
public class Patrao
{
private Semana diax[] = new Semana[7];
public Patrao(){
for (int i=0; i< diax.length;i++){
diax[i] = new Semana();
}
}
public void setDiax(Semana[] dia){
this.diax = dia;
}
public Semana[] getDiax(){
return diax;
}
Tem várias formas de fazer isso!
Acho que você pré definir os horários não é uma boa,
eu penso que seria melhor guardar apenas os horários já agendados,
mas caso queira manter essa idéia você pode usar um array bidimensional.
Ex:
// declara com 5 linhas para os dias da semana(segunda,terça...)
// e com 10 colunas para as horas, pois não acredito que o chefe estará 24 horas disponivel para entrevistas
String horario[][] = new String[5][10];
Dá uma olhada na classe Arraylist que pode te ajudar bastante também.
Espero ter ajudado.
Veja se entendi o que você precisa:
package marcacao;
import java.util.Date;
import java.util.Set;
import java.util.TreeSet;
public class Patrao {
private String nome = "";
private Set<Date> horarios = new TreeSet<Date>();
public Patrao() {
super();
}
public Patrao(String nome) {
super();
this.nome = nome;
}
public boolean marcarHorario(Date horario) {
return horarios.add(horario);
}
public String getNome() {
return nome;
}
public Set<Date> getHorarios() {
return horarios;
}
}
package marcacao;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Marcacao {
public static void main(String[] args) {
BufferedReader entrada =
new BufferedReader(new InputStreamReader(System.in));
String line = "";
SimpleDateFormat sdfEntrada = new SimpleDateFormat("dd/MM/yyyy HH");
SimpleDateFormat sdfSaida = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
System.out.println("Digite o nome do patrão: ");
try {
line = entrada.readLine();
} catch (IOException e1) {
e1.printStackTrace();
}
Patrao patrao = new Patrao(line);
while (true) {
try {
System.out.println("Digite o horario desejado no formato DD/MM/YYYY HH(24hs), ou digite fim : ");
line = entrada.readLine();
if (line.contains("fim")) {
break;
}
Date horario = sdfEntrada.parse(line);
if (patrao.marcarHorario(horario)) {
System.out.println("Horário marcado com sucesso");
System.out.println("Os horários marcados do patrão " + patrao.getNome() + " são: ");
for (Date horarioPatrao: patrao.getHorarios()) {
System.out.println(sdfSaida.format(horarioPatrao));
}
}else {
System.out.println("Horário ocupado. Favor escolher outro.");
}
} catch (ParseException e) {
System.out.println("Favor digitar a data no formato solicitado.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Abraços
Preciso pré estabelecer as horas e dias pois ainda não tive a matéria de formatação de data; vou dar uma olhada sobre as matrizes e agradeço muito a ajuda de vocês … eu que sou burrão mesmo e to tomando uma surra com OO…valeu galera