Erro "unexpected type"

8 respostas
guisantogui

Olá estou com um erro em um Projeto Agenda que tenho q fazer no trabalho final de Algoritimos e Programação do 1° semestre.

o erro eh na 3ª linha do case 1.

switch(opcao)
                            {
                                case 1: 
                                {
                                                                       
                                    cons.println("Digite o(s) minuto(s) do compromisso");
                                    int min = cons.readInt();
                                    c.getDataInicioMin() = min;

                                }
                            }

ele da unexpected type olha a classe que tenho a data.

public Compromisso(boolean aceito, String assunto, String msg, int dia, int mes, int ano, int hora, int minuto, int diaF, int mesF, int anoF,int horaF, int minutoF, Usuario user)
    {
        this.assunto = assunto;
        this.aceito = aceito;
        this.msg = msg;
        Calendar dataInicio = new GregorianCalendar(ano, mes, dia, hora, minuto);
        Calendar dataFim = new GregorianCalendar(anoF, mesF, diaF, horaF, minutoF);
        this.user = user;
      
    }
    
    public String getDataInicioMin()
    {
        int minI = dataInicio.get(Calendar.MINUTE);
        
        return "\nMinutos: " + minI;
    }
    
    public String getDataInicioHora()
    {
        int horaI = dataInicio.get(Calendar.HOUR);
        return "Hora: "+horaI;
    }
    
    public String getDataInicioDia()
    {
        int diaI = dataInicio.get(Calendar.DAY_OF_MONTH);
        return "Dia: "+diaI;
    }
    
    public String getDataInicioMes()
    {
        int mesI = dataInicio.get(Calendar.MONTH);
        return "Mês : "+mesI;
    }
    
    public String getDataInicioAno()
    {
        int anoI = dataInicio.get(Calendar.YEAR);
        return "Ano: "+anoI;
    }
           
    public String getDataFimMin()
    {
        int minF = dataFim.get(Calendar.MINUTE);
        return "\nMinutos: " + minF;
    }
    
    public String getDataFimHora()
    {
        int horaF = dataFim.get(Calendar.HOUR);
        return "Hora: "+horaF;
    }
    
    public String getDataFimDia()
    {
        int diaF = dataFim.get(Calendar.DAY_OF_MONTH);
        return "Dia: "+diaF;
    }
    
    public String getDataFimMes()
    {
        int mesF = dataFim.get(Calendar.MONTH);
        return "Mês : "+mesF;
    }
    
    public String getDataFimAno()
    {
        int anoF = dataFim.get(Calendar.YEAR);
        return "Ano: "+anoF;
    }
    
    public boolean getAceito()
    {
        return aceito;
    }
    public Usuario getUser()
    {
        return user;
    }
    
    public String getAssunto()
    {
        return assunto;
    }
    
    public String getMsg()
    {
        return msg;
    }

o q vcs axam q eh:?:

8 Respostas

T

Qual é a declaração da variável cons?

guisantogui

O erro naum eh ai, tenho certeza,

mas, olha soh a declaração

Console cons = new Console();
R

Acho que o problema é que você está tentando atribuir um valor a um retorno de método, o que é ilegal:

c.getDataInicioMin() = min;

O adequado seria algo como:

c.setDataInicioMin(min);
MrSpaceman

[quote=roger_rf]Acho que o problema é que você está tentando atribuir um valor a um retorno de método, o que é ilegal:

c.getDataInicioMin() = min;

O adequado seria algo como:

c.setDataInicioMin(min);

Seu código tá sem nenhum setter. Do mesmo jeito que você faz os getters, tem que fazer os setters:

public setDataInicioMin(int dataInicioMin){
  this.dataInicioMin = dataInicioMin;
}

faça isso pra todas as propriedades (variáveis de classe).

guisantogui

tentei utilizar o seu trecho de código fazendo as mudanças necessárias, mas dae o compilador não encontra a varíavel:

“dataInicioMin”

e naum consigo atribuir o valor do parametro à ela!
mais alguma sugestão?

MrSpaceman

guisantogui:
tentei utilizar o seu trecho de código fazendo as mudanças necessárias, mas dae o compilador não encontra a varíavel:

“dataInicioMin”

e naum consigo atribuir o valor do parametro à ela!
mais alguma sugestão?

é ‘minuto’ o nome da sua variável… troque dataInicioMin por minuto.

guisantogui

Não ele não encontra a varíavel pqela naum existe msm!

na realidade

a dataInicio eh uma instancia da classe gregorianCalendar

olha o construtor e os atributos calendar:

private Calendar dataInicio, dataFim;
public GregorianCalendar(int year,
                         int month,
                         int dayOfMonth,
                         int hourOfDay,
                         int minute)

para fazer a classe gregorian calendar peguei como base um exemplo da API Java

// get the supported ids for GMT-08:00 (Pacific Standard Time)
 String[] ids = TimeZone.getAvailableIDs(-8 * 60 * 60 * 1000);
 // if no ids were returned, something is wrong. get out.
 if (ids.length == 0)
     System.exit(0);

  // begin output
 System.out.println("Current Time");

 // create a Pacific Standard Time time zone
 SimpleTimeZone pdt = new SimpleTimeZone(-8 * 60 * 60 * 1000, ids[0]);

 // set up rules for daylight savings time
 pdt.setStartRule(Calendar.APRIL, 1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);
 pdt.setEndRule(Calendar.OCTOBER, -1, Calendar.SUNDAY, 2 * 60 * 60 * 1000);

 // create a GregorianCalendar with the Pacific Daylight time zone
 // and the current date and time
 Calendar calendar = new GregorianCalendar(pdt);
 Date trialTime = new Date();
 calendar.setTime(trialTime);

 // print out a bunch of interesting things
 System.out.println("ERA: " + calendar.get(Calendar.ERA));
 System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
 System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
 System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
 System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
 System.out.println("DATE: " + calendar.get(Calendar.DATE));
 System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
 System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
 System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
 System.out.println("DAY_OF_WEEK_IN_MONTH: "
                    + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
 System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
 System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
 System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
 System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
 System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
 System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
 System.out.println("ZONE_OFFSET: "
                    + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000)));
 System.out.println("DST_OFFSET: "
                    + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000)));

 System.out.println("Current Time, with hour reset to 3");
 calendar.clear(Calendar.HOUR_OF_DAY); // so doesn't override
 calendar.set(Calendar.HOUR, 3);
 System.out.println("ERA: " + calendar.get(Calendar.ERA));
 System.out.println("YEAR: " + calendar.get(Calendar.YEAR));
 System.out.println("MONTH: " + calendar.get(Calendar.MONTH));
 System.out.println("WEEK_OF_YEAR: " + calendar.get(Calendar.WEEK_OF_YEAR));
 System.out.println("WEEK_OF_MONTH: " + calendar.get(Calendar.WEEK_OF_MONTH));
 System.out.println("DATE: " + calendar.get(Calendar.DATE));
 System.out.println("DAY_OF_MONTH: " + calendar.get(Calendar.DAY_OF_MONTH));
 System.out.println("DAY_OF_YEAR: " + calendar.get(Calendar.DAY_OF_YEAR));
 System.out.println("DAY_OF_WEEK: " + calendar.get(Calendar.DAY_OF_WEEK));
 System.out.println("DAY_OF_WEEK_IN_MONTH: "
                    + calendar.get(Calendar.DAY_OF_WEEK_IN_MONTH));
 System.out.println("AM_PM: " + calendar.get(Calendar.AM_PM));
 System.out.println("HOUR: " + calendar.get(Calendar.HOUR));
 System.out.println("HOUR_OF_DAY: " + calendar.get(Calendar.HOUR_OF_DAY));
 System.out.println("MINUTE: " + calendar.get(Calendar.MINUTE));
 System.out.println("SECOND: " + calendar.get(Calendar.SECOND));
 System.out.println("MILLISECOND: " + calendar.get(Calendar.MILLISECOND));
 System.out.println("ZONE_OFFSET: "
        + (calendar.get(Calendar.ZONE_OFFSET)/(60*60*1000))); // in hours
 System.out.println("DST_OFFSET: "
        + (calendar.get(Calendar.DST_OFFSET)/(60*60*1000))); // in hours

dae fiz um metodo get para consultar os minutos

[code]public String getDataInicioMIin()
{
int min = dataInicio.get(Calendar.MINUTE)
return "minutos ..."

se alguem puder ajudar peço com URGENCIA pois a data de entrega está proxima!

Abraço

guisantogui

Comecei meu projeto cuase do 0, vou tentar por outro caminho, mas se alguem tiver uma ideia, eu aceito!

valeu galera

Criado 24 de junho de 2009
Ultima resposta 25 de jun. de 2009
Respostas 8
Participantes 4