3
respostas

Como faço para chamar um método

Olá pessoal, boa tarde. Estou escrevendo um programa em Java e estou com uma dificuldade em chamar um método. No código abaixo eu tenho que chamar FoxMcDonald() ou NasaSP8010() para calcular as propriedades do meio. A escolha é feita pela variável formulation. Eu não estou sabendo como chamar estes métodos. Você poderia me dar uma luz?

package General;

public class Atmosphere

{ public static void main (String[] args)

{ GeneralProperties genprop = new GeneralProperties(); String formulation = genprop.getFormulation();

        PhysicalProperties phyprop = new PhysicalProperties();
        double altitude = phyprop.getAltitude();

// Defining the air properties in the Earth atmosphere if ((formulation == "TECNE") || (formulation == "TCNE")) { FoxMcDonald(); } else // Defining the air properties in the Mars atmosphere { NasaSP8010(); } } // This finalizes the atmosphere properties

3 respostas

Boa tarde Edisson, tudo bem ?

Você poderia colocar o código das classes que você está usando para que eu possar ter uma visão melhor e consiga te ajudar, por favor ? Quero entender melhor como estão implementadas as classes e quais estão sendo utilizadas.

Você pode usar atalho CTRL + ALT +C no chat para inserir um trecho de código e ficar totalmente formato para facilitar a leitura.

Aguardo seu retorno.

Obrigada

package General;

public class FoxMcDonald extends AirProperties

{ public double altitude;

// Air physical properties determined as function of the altitude } AirProperties airprop = new AirProperties();

{ if (0.0 <= altitude && altitude < 500.0)

{ airprop.setDenChar(1.22500e0); airprop.setPrChar(1.01325e5); airprop.setMiChar(1.78962e-5); airprop.setKChar(2.53154e-2); }

        if (500.0 <= altitude && altitude < 1000.0 )

{ airprop.setDenChar(1.16730e0); airprop.setPrChar(9.54583e4); airprop.setMiChar(1.77366e-5); airprop.setKChar(2.50533e-2); }

{-----------------------------------------------------------------------------------}

package General;

public class NasaSP8010 extends AirProperties

{ public double altitude; private double achar;

// Air physical properties determined as function of the altitude } AirProperties airprop = new AirProperties();

{ if (0.0 <= altitude && altitude < 2000.0)

{ airprop.setDenChar(1.26e-2); airprop.setPrChar(4.96e2); airprop.setMiChar(1.06e-5); airprop.setKChar(2.53154e-2); achar = 230.0e0; }

        if (2000.0 <= altitude && altitude < 4000.0)

{ airprop.setDenChar(1.04e-2); airprop.setPrChar(4.11e2); airprop.setMiChar(1.06e-5); airprop.setKChar(2.50533e-2); achar = 230.0e0; }

{-----------------------------------------------------------------------------------}

package General;

public class AirProperties

// Definition of variables { private double denChar; private double prChar; private double miChar; private double kChar; private double reChar; private double reSigma; private double rb; private double dtChar;

// Definition of methods public double getDenChar() { return this.denChar; } public void setDenChar(double denChar) { this.denChar = denChar; }

{-----------------------------------------------------------------------------------}

package General;

public class Atmosphere

{ public static void main (String[] args)

{ GeneralProperties genprop = new GeneralProperties(); String formulation = genprop.getFormulation();

        PhysicalProperties phyprop = new PhysicalProperties();
        double altitude = phyprop.getAltitude();

// Defining the air properties in the Earth atmosphere if ((formulation == "TECNE") || (formulation == "TCNE")) { FoxMcDonald(); } else // Defining the air properties in the Mars atmosphere { NasaSP8010(); } } // This finalizes the atmosphere properties

Ai está as 4 classes que fazem parte desta parte do código. Espero que me ajude. Eu também estou tendo dificuldades com a definição de variáveis, o Eclipse toda vez está colocando que as variáveis devem ser colocadas como do tipo final. Aguardo seu retorno, obrigado, Edisson Sávio.

Tapoxa, ta ruimzão a visualização do código. Pode mostrar o Github? Ou então combinarmos de ver isso no discord do Alura?

Por exemplo: Classe TAL: package com.desafioProject.Cliente.model.entity;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.*;

import javax.persistence.*;
import java.util.List;


@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Cliente {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String nome;

    private String cpf;

    private String cnpj;

    private String telefone;

    private String endereco;

    @JsonIgnore
    @OneToMany(mappedBy = "cliente")
    private List<Conta> contas;
}

Classe Tal de Tal

package com.desafioProject.Cliente.model.entity;

import com.desafioProject.Cliente.model.entity.enums.TipoDeConta;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.*;

import javax.persistence.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.List;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Entity
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Conta {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @ManyToOne //(mappedBy = "cliente_id", cascade = FetchType.LAZY)
    @JoinColumn(name = "cliente_id")
    private Cliente cliente;

    private String numeroDaConta;

    private String agencia;

    @Enumerated(EnumType.STRING)
    private TipoDeConta tipo;

    private String digitoVerificador;

    private BigDecimal saldo;

    private BigDecimal taxa;

    private int saqueSemTaxa;

    private String dataCriacao = LocalDateTime.now().format(DateTimeFormatter.ofPattern("dd/MM/yyyy HH:mm:ss"));

    @JsonIgnore
    @OneToMany(mappedBy = "conta")
    private List<Operacao> operacoes;
}