Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

[Dúvida] alguém me ajuda?

Eu não tô conseguido fazer as placa aparecer!! O que eu tô errando?

package Desafio;

import javax.swing.JOptionPane;
//Prata – 100 mil inscritos;
//Ouro – 1 milhão de inscritos;
//Diamante – 10 milhões de inscritos;
//Diamante Vermelho – 100 milhões de inscritos
public class placas extends canalYoutube{
    public void exibeplaca() {

    if (getInscrito()>=100000000) {
        JOptionPane.showMessageDialog(null, "Placa de Diamente Vermelho");
    }else if(getInscrito()>=10000000) {
        JOptionPane.showMessageDialog(null, "Placa de Diamente ");
    }else if(getInscrito()>=1000000) {
        JOptionPane.showMessageDialog(null, "Placa de Ouro ");
    }else if(getInscrito()>=100000) {
        JOptionPane.showMessageDialog(null, "Placa de prata ");
    }else {
        JOptionPane.showMessageDialog(null, "Não possui placa do Youtube");
    }

}}
package Desafio;

public interface FrequenciaDeVideos {
    
    public int getQuantidadeDeDias();
}
package Desafio;

import javax.swing.JOptionPane;

import principal.principal;

public class canalYoutube extends principal implements FrequenciaDeVideos {
    private String nome;
    protected int inscrito;
    private int videos;
    private String Nomecanal;
    private int quantidadeDeDias;
    
    
    
    
    
    public String getNomecanal() {
        return Nomecanal;
    }
    public void setNomecanal(String nomecanal) {
        Nomecanal = nomecanal;
    }
    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }
    public int getInscrito() {
        return inscrito;
    }
    public void setInscrito(int inscrito) {
        this.inscrito = inscrito;
    }
    public int getVideos() {
        return videos;
    }
    public void setVideos(int videos) {
        this.videos = videos;
    }
    public int Frequencia() {
        return this.videos/quantidadeDeDias;
        
        
        }
        public void Canal() {
        JOptionPane.showMessageDialog(null,"Nome do criador:"+nome+
                            "\n Nome do canal:"+Nomecanal	
                            +"\nQuantidade de Inscritos:"+inscrito
                            +"\nVideos Postados:"+videos
                            +"\nFrequencia é de:"+Frequencia());
        
    } 

        @Override
    public int getQuantidadeDeDias() {
            return quantidadeDeDias;
        }
        public void setQuantidadeDeDias(int quantidadeDeDias) {
            this.quantidadeDeDias = quantidadeDeDias;
            
        }
    
    }
    
        
package principal;

import javax.swing.JOptionPane;

import Desafio.canalYoutube;
import Desafio.placas;

public class principal {
    public static void main(String[] args) {
        
    
    
    canalYoutube canal1=new canalYoutube();
    canal1.setNome(JOptionPane.showInputDialog("coloca o Nome do Criador."));
    canal1.setNomecanal(JOptionPane.showInputDialog("coloca o Nome do Nome Do Canal."));
    canal1.setInscrito(Integer.parseInt(JOptionPane.showInputDialog("Quantidade de Inscritos.")));
    canal1.setVideos(Integer.parseInt(JOptionPane.showInputDialog("Quantidades de Videos.")));
    canal1.setQuantidadeDeDias(Integer.parseInt(JOptionPane.showInputDialog("Quantidades de Dias")));
    canal1.Canal();
     
    placas placa = new placas();
    
    
    placa.exibeplaca();
    
    


    }}
3 respostas
solução!

Parece que você está enfrentando um problema em fazer as placas aparecerem no seu programa. O problema ocorre porque você está criando uma instância da classe placas e chamando o método exibeplaca() sem definir a quantidade de inscritos para essa instância.

Aqui está o trecho do seu código onde você cria a instância da classe placas e chama o método exibeplaca():

placas placa = new placas();
placa.exibeplaca();

Para que o método exibeplaca() funcione corretamente, você precisa definir a quantidade de inscritos para essa instância placa. Você pode fazer isso chamando o método setInscrito da classe canalYoutube antes de chamar exibeplaca(). Algo assim:

placas placa = new placas();
placa.setInscrito(canal1.getInscrito()); // Defina a quantidade de inscritos
placa.exibeplaca(); // Agora chame o método exibeplaca()

adorei a resposta, muito Obrigado

tava Testando e refendo os videos depois me toquei quando eu coloque if comparando a classe canalYoutube.getInscrito e mais (canalYoutube canalyoutube) na parametro public void exibeplaca(). funcionou.

Desculpa com a explicação meu ruim .

package Desafio;

import javax.swing.JOptionPane;
//Prata – 100 mil inscritos;
//Ouro – 1 milhão de inscritos;
//Diamante – 10 milhões de inscritos;
//Diamante Vermelho – 100 milhões de inscritos
public class placas extends canalYoutube{
    public void exibeplaca(canalYoutube canalyoutube) {

    if (canalyoutube.getInscrito()>=100000000) {
        JOptionPane.showMessageDialog(null, "Placa de Diamente Vermelho");
    }else if(canalyoutube.getInscrito()>=10000000) {
        JOptionPane.showMessageDialog(null, "Placa de Diamente ");
    }else if(canalyoutube.getInscrito()>=1000000) {
        JOptionPane.showMessageDialog(null, "Placa de Ouro ");
    }else if(canalyoutube.getInscrito()>=100000) {
        JOptionPane.showMessageDialog(null, "Placa de prata ");
    }else {
        JOptionPane.showMessageDialog(null, "Não possui placa do Youtube");
    }

}}

show de bola meu parceiro, só dale