[Resolvido]]Duvida Iniciante

3 respostas
ClaudioRafael
Boa noite, tenho uma duvida, vou postar a atividade e expor minha duvida

<a class="attachment" href="/uploads/3X/d/d/ddc967a73324f033a6adaaf283556b6450d4d023.pdf.webp">PBL II.pdf</a> (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;

/<em>int TempoChegado,int codigo,String tamanho,Vaso vaso,double valorPlanta, double valorVaso){

this.setTempoChegado(TempoChegado</em>/

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

}

###################################

3 Respostas

F

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.

R

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.

R

Deu certo @ClaudioRafael ?

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

Criado 31 de outubro de 2017
Ultima resposta 1 de nov. de 2017
Respostas 3
Participantes 3