Erro java criacao fila

4 respostas
M

sou novo aqui no forum e estou recorrendo a ele por recomendação de um amigo meu.

estou com um problema em um codigo que eu nao consigo entender o erro que esta acontecendo… poderiam me ajudar a entender o porque do erro?

estou tentando criar uma fila dentro de um menu. eu faço o construtor da fila, mas dá erro…

segue trecho do codigo

switch (opc){

case 1:

codEvento = codEvento + 1;

String Descr2 = JOptionPane.showInputDialog

(“Digite a Descricao do Evento:);
Evento event = new Evento (codEvento, Descr2);          /* aqui o programa esta dando o erro: actual and formal argument lists differ in length*/
                      fEventos.adicionaInicio(event);
                      Sair=0;
                      break;
                  case 2:
                      int codigo2 = Integer.parseInt(JOptionPane.showInputDialog
                              ("Digite o código a ser Excluído: \n"+ fEventos.percorre()));
                      fEventos.removeEspecifico(codigo2);                                                  
                      break;
                  case 3:
                      JOptionPane.showMessageDialog(null,fEventos.percorre());
                      Sair=2;
                      break;
                  case 4:
                      Sair=2;
                      break;
                }

estou anexando a imagem do meu codigo tb.

Quem puder me ajudar, agradeço!

4 Respostas

E

Olá marcusmandrake, primeiramente como você é novo no forum, para ficar mais fácil de entender o seu código o publique com Code.

Outra coisa: esse trecho de código

Evento event = new Evento (codEvento, Descr2);

esta chamando uma classe chamada Evento com um método construtor com parâmetros… Coloque essa classe também, daí fica mais fácil do pessoal entender o que pode estar acontecendo.

Abs.,

M

Ok edjane,
obrigado pelas dicas...

sobre a classe evento, ela ja esta criada neste package, mas nao entendo o porque que ela nao consegue criar o objeto evento...

estou enviando
o codigo...

[/code]
package eventosfatec;

import java.lang.String;
import javax.swing.JOptionPane;
import java.util.Date;

/**
*
* @author notemarcus
*/
public class EventosFatec {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int opc;
int Sair=0;
int num=0;
int codArea= 0;
int codEvento= 0;
boolean var=false;
int codAtividade =0;

FilaAreaConhecimento fArea = new FilaAreaConhecimento();
FilaEvento fEventos = new FilaEvento();
while (Sair!=1){
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite a opção desejada: \n"
+ "1 - Eventos\n"
+ "2 - Area de conhecimento\n"
+ "3 - Atividades \n"
+ "4 - Aluno\n"
+ "5 - Responsável\n"
+ "6 - Artigo\n"
+ "7 - Sair\n"
));
switch (opc){
case 1:
while (Sair!=2){
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite a opção desejada: \n"
+ "1 - Inserir Evento\n"
+ "2 - Excluir Evento\n"
+ "3 - Imprimir Lista de Eventos\n"
+ "4 - Retornar ao menu inicial\n"
));
switch (opc){
case 1:
codEvento = codEvento + 1;
String Descr2 = JOptionPane.showInputDialog
("Digite a Descricao do Evento:");

Evento event = new Evento (codEvento, Descr2);
fEventos.adicionaInicio(event);
Sair=0;
break;
case 2:
int codigo2 = Integer.parseInt(JOptionPane.showInputDialog
("Digite o código a ser Excluído: \n"+ fEventos.percorre()));
fEventos.removeEspecifico(codigo2);
break;
case 3:
JOptionPane.showMessageDialog(null,fEventos.percorre());
Sair=2;
break;
case 4:
Sair=2;
break;
}
}
case 2:
while (Sair!=2){
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite a opção desejada: \n"
+ "1 - Inserir Area de Conhecimento\n"
+ "2 - Excluir Area de Conhecimento\n"
+ "3 - Imprimir Lista de Area de Conhecimento\n"
+ "4 - Retornar ao menu inicial\n"
));
switch (opc){
case 1:
codArea = codArea + 1;
String Descr = JOptionPane.showInputDialog
("Digite a Descricao da Area de Conhecimento:");
AreaConhecimento area = new AreaConhecimento(codArea,Descr);
fArea.adicionaInicio(area);
Sair=0;
break;
case 2:
int codigo = Integer.parseInt(JOptionPane.showInputDialog
("Digite o código a ser Excluído: \n"+ fArea.percorre()));
fArea.removeEspecifico(codigo);
break;
case 3:
JOptionPane.showMessageDialog(null,fArea.percorre());
Sair=2;
break;
case 4:
Sair=2;
break;
}
}
case 3:
while (Sair!=2){
opc=Integer.parseInt(JOptionPane.showInputDialog("Digite a opção desejada: \n"
+ "1 - Inserir Atividade\n"
+ "2 - Excluir Atividade\n"
+ "3 - Imprimir Lista de Atividade\n"
+ "4 - Retornar ao menu inicial\n"
));
switch (opc){
case 1:
codAtividade = codAtividade + 1;
String Descr = JOptionPane.showInputDialog
("Digite a Descricao da Area de Conhecimento:");
AreaConhecimento area = new AreaConhecimento(codArea,Descr);
fArea.adicionaInicio(area);
Sair=0;
break;
case 2:
int codigo = Integer.parseInt(JOptionPane.showInputDialog
("Digite o código a ser Excluído: \n"+ fArea.percorre()));
fArea.removeEspecifico(codigo);
break;
case 3:
JOptionPane.showMessageDialog(null,fArea.percorre());
Sair=2;
break;
case 4:
Sair=2;
break;



Sair=0;
break;

}
}

}

}

a classe evento

[code]
package eventosfatec;
import java.util.Date;

/**
*
* @author NOTE MARCUS
*/
public class Evento {

private int codEvento;
private String nome;
private Date dataInicio;
private Date dataFinal;
private String patrocinador;

public Evento(int codEvento, String nome, Date dataInicio, Date dataFinal, String patrocinador) {
this.codEvento = codEvento;
this.nome = nome;
this.dataInicio = dataInicio;
this.dataFinal = dataFinal;
this.patrocinador = patrocinador;
}

public int getCodEvento() {
return codEvento;
}

public void setCodEvento(int codEvento) {
this.codEvento = codEvento;
}

public Date getDataFinal() {
return dataFinal;
}

public void setDataFinal(Date dataFinal) {
this.dataFinal = dataFinal;
}

public Date getDataInicio() {
return dataInicio;
}

public void setDataInicio(Date dataInicio) {
this.dataInicio = dataInicio;
}

public String getNome() {
return nome;
}

public void setNome(String nome) {
this.nome = nome;
}

public String getPatrocinador() {
return patrocinador;
}

public void setPatrocinador(String patrocinador) {
this.patrocinador = patrocinador;
}

@Override
public String toString() {
return this.getDataFinal() + " - " + this.getNome() + " - " + this.getDataInicio() + " - "
+ this.getPatrocinador() + " - " + this.getCodEvento() + " - " + "\n";
}



}

Estou chamando o objeto errado? o erro que aparece é que o construtor evento nao pode ser aplicado a determinados tipos...
ai ele diz que sao requeridos tipos int, java.lang.string, java .util .date, java.util.date, java .lang string. e ele achou int e java.lang.string

uma solucao que ele me passa é criar um construtor Evento na classe evento com os atributos que ele achou...

alguem pode me explicar oque é? eu estou comecando agora a manipular o JAVA....

obriagdo

charleston10

OMG use a tag code…

E

Olá marcusmandrake

Para que as Tags funcione corretamente vc abre no inicio do código [ code ] e fecha no final [/ code]

pelo que percebi o seu método construtor esta esperando 5 tipos de dados e no entanto vc esta passando somente dois

public Evento(int codEvento, String nome, Date dataInicio, Date dataFinal, String patrocinador) { //metodo construtor da classe Evento
Evento event = new Evento (codEvento, Descr2); //chamada do seu método construtor

Ou seja, você tem que passar todos os argumentos solicitados no método, caso queira passar somente esses dois, vc tem que criar um novo método contrutor somente com esses dois parametros.

Abs.,

Criado 11 de novembro de 2012
Ultima resposta 11 de nov. de 2012
Respostas 4
Participantes 3