在另一个类中调用数组列表

时间:2019-02-03 15:12:13

标签: java arrays web-services

所以我正在做一个Web服务,我想从一个类调用arraylist到另一个类。

我已经尝试了一些代码,但是我听不懂,所以我来这里看看您是否可以帮我忙,看看我是否最终可以解决这个问题。

我在网络服务上的操作

@WebMethod(operationName = "findHorarioCurso")
public java.util.ArrayList<HorariosCurso> findHorarioCurso(@WebParam(name = "id_curso") int id_curso){
    GereBD bd = new GereBD();
    return bd.findHorarioCurso(id_curso);
}

数组:

public java.util.ArrayList<HorariosCurso> findHorarioCurso(int id_curso){
    try{
        ArrayList<HorariosCurso> vecHorarioCurso = new ArrayList();
        String query="SELECT h.inicio,h.fim,h.dia,c.designacao_curso,c.ano,u.designacao FROM horario h INNER JOIN cursos c ON c.id_curso=h.id_curso INNER JOIN uc u ON u.id_uc=h.id_uc WHERE h.id_curso = "+id_curso;

        Statement stmt = conexao.createStatement();
        ResultSet lig = stmt.executeQuery(query);
        while (lig.next()){
            HorariosCurso Horario = new HorariosCurso();
            Horario.setInicio(lig.getString("inicio"));
            Horario.setFim(lig.getString("fim"));
            Horario.setDia(lig.getString("dia"));
            Horario.setDesignacaoCurso(lig.getString("designacao_curso"));
            Horario.setAno(lig.getInt("ano"));
            Horario.setDesignacao(lig.getString("designacao"));
            vecHorarioCurso.add(Horario);
        }
        return vecHorarioCurso;
    } catch (SQLException ex) {
        System.err.println("Erro de IO" + ex);
    }
    return null;
}

我已经创建了集合并进入HorariosCurso类:

public class HorariosCurso {
    private String inicio;
    private String fim;
    private String dia;
    private String designacao_curso;
    private int ano;
    private String designacao;




    public String getInicio()
    {
        return this.inicio;
    }

    public String getFim()
    {
        return this.fim;
    }

    public String getDia()
    {
        return this.dia;
    }

    public String getDesignacaoCurso()
    {
        return this.designacao_curso;
    }

    public int getAno()
    {
        return this.ano;
    }

     public String getDesignacao()
    {
        return this.designacao;
    }

    public void setInicio(String inicio)
    {
        this.inicio = inicio;
    }

    public void setFim(String fim)
    {
        this.fim = fim;
    }

     public void setDia(String dia)
    {
        this.dia=dia;
    }

    public void setDesignacaoCurso(String designacao_curso)
    {
        this.designacao_curso = designacao_curso;
    }

    public void setAno(int ano)
    {
        this.ano = ano;
    }
    public void setDesignacao(String designacao)
    {
        this.designacao = designacao;
    }
}

客户端类,我试图从该数组列表中获取信息:

case 4:
            System.out.println("Encontrar horário de um curso");
            idCurso = sq.nextInt();
            List<HorariosCurso> h = findHorarioCurso(idCurso);
System.out.println(h.get(1).getDesignacao()+h.get(1).getDesignacaoCurso()+h.get(1).getDia()+h.get(1).getFim()+h.get(1).getInicio());
            break;

当我按idCurso的号码时,我想获得以下设置:  在另一堂课中:

Horario.setInicio(lig.getString("inicio"));
Horario.setFim(lig.getString("fim"));
Horario.setDia(lig.getString("dia"));
Horario.setDesignacaoCurso(lig.getString("designacao_curso"));
Horario.setAno(lig.getInt("ano"));
Horario.setDesignacao(lig.getString("designacao"));

1 个答案:

答案 0 :(得分:0)

尝试for循环:

case 4:
        System.out.println("Encontrar horário de um curso");
        idCurso = sq.nextInt();
        List<HorariosCurso> h = findHorarioCurso(idCurso);
        for(HorariosCurso hc:h)
            System.out.println(hc.getDesignacao()+hc.getDesignacaoCurso()+hc.getDia()+hc.getFim()+hc.getInicio());
        break;