Ir ao conteúdo
  • Cadastre-se

Swich em Herança


Posts recomendados

Ola, estou desenvolvendo esse código mas não roda do jeito que eu quero, 

 

CLASSE JAVA

package corposcelestes;

/**
 *
 * @author Augusto
 */
public class Localizacao extends CorpoCeleste {

    int Cluster;
    boolean grupodemeteoros;
    boolean nebulosa;
    String Constelacao;


    public int getCluster() {

        switch (Cluster){
            case 1:
                System.out.println("Galáxia");
                break;
            case 2:
                System.out.println("sdasd");
                break;
            case 0:
                System.out.println("Galáxia");
                break;
        }
        return Cluster;
    }

    public void setCluster(int Cluster) {
        this.Cluster = Cluster;
    }
 @Override
    public String toString() {
        return "Nome: " + getNome() + "\n"
                + "Cluster: " + getCluster();
    }
}

CLASSE JAVA PRINCIPAL

 

package corposcelestes;
import java.util.Scanner;
public class HUB {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        String Nome;
        int Cluster;
        
        Scanner conta = new Scanner(System.in);

        System.out.print("Digite o nome do Corpo: ");
        Nome = conta.next();

        System.out.println("Digite o numero do Cluster: ");
        System.out.println("1 - Galáxia ");
        System.out.println("2 - Aglomerado ");
        Cluster = conta.nextInt();  
        
      
     
        
        
        MassaRochosa R = new MassaRochosa();
        R.setNome(Nome);
        R.setCluster(Cluster);

       
        System.out.println(R);
    }

}

PROGRAMA RODANDO

 

Digite o nome do Corpo: PLANETA
Digite o numero do Cluster: 
1 - Galáxia 
2 - Aglomerado 
1
Galáxia
Nome: PLANETA
Cluster: 1

ONDE ESTA ESCRITO "1" QUERIA QUE ESTIVESSE GALAXIA .

Link para o comentário
Compartilhar em outros sites

@Augusto G rocha Boa noite.

Em momento algum no seu código está especificado que 1 = Galáxia. Isso aparece apenas no seu texto escrito em tela.

Sua variável Cluster inicia com letra maiúscula, o que me levou a crer que era uma classe, mas era apenas uma variável int. Pelas boas regras de programação, deveria ser com letra minúscula ;)

 

Ao invés de cluster ser um int, porque não faz um Enum? O seu enum pode retornar uma descrição de acordo com o ID devolvido se ele for feito dessa forma.

 

Ou, no seu caso, se você tiver mais de duas opções, faça um if para cada inteiro retornado e devolva o texto correspondente a cada um deles.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...