[Resolvido]]Duvida Iniciante

Boa noite, tenho uma duvida, vou postar a atividade e expor minha duvida
PBL II.pdf (160,7 KB)
como faco no main pra de acordo com o menu que ha 3 opcoes, o programa criar uma instancia nova da classe? e poder usar os atributos desse objeto? exemplo … digite opcao 1 como faco pra criar uma nova instancia da classe orquideas, sem sobre escrever ?
############################## classe mae
package floricultura;

public abstract class Flores {
private String especificacoes;
private int codigo;
private String tipo;
private int diaProximoRegramento;
private Vaso vaso;
private String tamanho;
private int TempoChegado;
private String informacaoPlanta;
private double valorPlanta;
private double valorVaso;
private boolean adubar;
private boolean regar;

public double getValor() {
return valorPlanta;
}

public void setValor(double valor) {
    this.valorPlanta = valor;
}

public Flores(int TempoChegado){
this.setTempoChegado(TempoChegado);

}
public int getCodigo() {
return codigo;
}

public void setCodigo(int codigo) {
    this.codigo = codigo;
}

public String getEspecificacoes() {
    return especificacoes;
}

public void setEspecificacoes(String especificacoes) {
    this.especificacoes = especificacoes;
}

public String getTipo() {
    return tipo;
}

public void setTipo(String tipo) {
    this.tipo = tipo;
}

public int getDiaProximoRegramento() {
    return diaProximoRegramento;
}

public void setDiaProximoRegramento(int diaProximoRegramento) {
    this.diaProximoRegramento = diaProximoRegramento;
}


public Vaso getVaso() {
    return vaso;
}

public void setVaso(Vaso vaso) {
    this.vaso = vaso;
}

public String getTamanho() {
    return tamanho;
}

public void setTamanho(String tamanho) {
    this.tamanho = tamanho;
}


public String getInformacaoPlanta() {
    return informacaoPlanta;
}

public void setInformacaoPlanta(String informacaoPlanta) {
    this.informacaoPlanta = informacaoPlanta;
}
    public  abstract void Informaregamento(int diaAtual);

private void setTempoChegado(int TempoChegado) {
   
}
public int getTempoChegado(){
return TempoChegado;
}

public double getValorPlanta() {
    return valorPlanta;
}

public void setValorPlanta(double valorPlanta) {
    this.valorPlanta = valorPlanta;
}

public double getValorVaso() {
    return valorVaso;
}

public void setValorVaso(double valorVaso) {
    this.valorVaso = valorVaso;
}

public double CalculaPreco(int valor){

double finalpreco;
finalpreco = this.getValorPlanta()+this.getValorVaso();
return finalpreco;

}

public class Orquidea extends Flores{
private static int instanciasOrquideas;
/int TempoChegado,int codigo,String tamanho,Vaso vaso,double valorPlanta, double valorVaso){
this.setTempoChegado(TempoChegado
/
public Orquidea (int TempoChegado) {
super(TempoChegado );
instanciasOrquideas++;
}
public static int getInstancias() {
return instanciasOrquideas;
}

@Override
public void Informaregamento(int diaAtual) {
  

    }

private Vaso vasinho;

public Vaso getVasinho() {
    return vasinho;
}

public void setVasinho(Vaso vasinho) {
    this.vasinho = vasinho;
}

}
nao vou postar as outras pq vai ficar mt grande, espero que tenha me dado a entender, pfv me ajudem
}
###################################

Para a criação de um novo objeto:

Orquidea orquideas_2 = new Orquidea();

Sinceramente nao entendi muito o que deseja mas postei algo no sentido de te ajudar.

Você quer criar um novo item? como se fosse multi intens dentro de uma sacola e no final somar tudo?

Att,

Felipe Cabral.

1 curtida

Bom dia, acredito que o JOptionPane resolva seu problema.

String escolha = JOptionPane.showInputDialog("Digite o número escolhido:\n1 - Orquidea\n2 - Lirio\n3 - Rosa").toString());

Aqui, vai setar na sua variável a escolha de um dos números (1, 2 ou 3) levando em consideração que o usuário não digitaria errado (Teria que tratar as exceções) e depois você pode usar esse número com o .equals para fazer uma comparação instanciando a classe correta:

Flores flor  = null;

if(escolha.equals("1"){ 
// instancie a classe que você escolhei como primeira opção no JOptionPane
Flores flor= new Orquidea();
}else if (escolha.equals("2"){
// instancie a classe que você escolheu como segunda opção no JOptionPane
Flores flor = new Lirio();
}else if (escolha.equals("3"){
// instancie a classe que você escolheu como terceira opção no JOptionPane
Flores flor = new Rosa();
}

Espero que te ajude a solicionar o problema.

1 curtida

Deu certo @ClaudioRafael ?

Se sim marque por favor o comentário e troque o nome por resolvido por favor !