Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Augusto G rocha

Swich em Herança

Recommended Posts

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 .

Compartilhar este post


Link para o post
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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • O meu eu desse dia não achou a resposta, consegui o que queria hoje fazendo isso.

     

      public String getCluster() {
    
            switch (Cluster){
                case 1:{
                   return "Galáxia"+ "\n" + "explicação";
                   
                }
                  
                case 2:{
                   return "Aglomerado";
                }
                  
                default:{
                    return null;
                            }
            }
        }

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×