Jump to content
ole1990

Problema paramtros classe

Recommended Posts

ole1990

Boa tarde,

tenho um problema, acho eu que deve ser ao passar os paramtros.

tenho um programa com duas classes:

1ª classe Tempo.java

package ex_tempo;

import javax.swing.JOptionPane;

public class Tempo {
    //Váriaveis de instancia
    private int hora;
    private int minutos;
    private int segundos;
//Contructores
    public Tempo() {
        hora = 0;
        minutos = 0;
        segundos = 0;
    }

    public Tempo(int horaa, int minutoss, int segundoss) {
        setTempo(horaa, minutoss, segundoss);
    }

    public static Tempo lerTempo() {
        int hora = Integer.parseInt(JOptionPane.showInputDialog("Hora: "));
        int minutos = Integer.parseInt(JOptionPane.showInputDialog("Minutos: "));
        int segundos = Integer.parseInt(JOptionPane.showInputDialog("Segundos: "));
        return new Tempo(hora, minutos, segundos);
    }

    public void setTempo(int horaa, int minutoss, int segundoss) {
        hora = (horaa >= 0 && horaa <= 23) ? horaa : 0;//if em uma linha
        minutos = (minutoss >= 0 && minutoss <= 59) ? minutoss : 0;//if em uma linha
        segundos = (segundoss >= 0 && segundoss <= 23) ? segundoss : 0;//if em uma linha
    }
//ponto B
    public String toString() {
        String datams = "";
        datams += (hora >= 0 || hora <= 9) ? "0" + hora : hora;
        datams += (minutos >= 0 || minutos <= 9) ? "0" + minutos : minutos;
        datams += (segundos >= 0 || segundos <= 9) ? "0" + segundos : segundos;
        return datams;
    }
//Ponto C
    public void addsegundo(int minutos, int hora, int segundos) {
        int m = 0, h = 0, s = 0;
        this.hora = h;
        this.minutos = m;
        this.segundos = s;
        s = (h * 3600) + (m * 60) + s;
        s = s + 1;
        h = s / 3600;
        s = s % 3600;
        m = s/60;
        s = s%60;
    }
    
}

nesta primeira parte não tenho erros

E a segunda classe: TesteTempo.java

package ex_tempo;
import javax.swing.JOptionPane;

public class TesteTempo {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        
        Tempo tempo1;
        Tempo tempo2 = new Tempo(2, 4, 6);
        tempo1 = Tempo.lerTempo();
        tempo2.addsegundo(int minutos int hora int segundos);
        System.out.println(tempo1);
        // TODO code application logic here
    }

}

na segunda da-me erro nesta linha "tempo2.addsegundo(int minutos int hora int segundos);"

o objectivo é adicionar um segundo ao tempo (o objecto tempo tem hora, minutos e segundos).

Alguem me sabe explicar o porquê de me dar erro?

Share this post


Link to post
Share on other sites
Baderous

Tens é de invocar o método passando como parâmetros 3 valores inteiros, do género:

tempo2.addsegundo(1,2,3);

E não como estás a fazer agora.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.