Ir ao conteúdo
  • Cadastre-se

iHollyZinhO

Membro Pleno
  • Posts

    170
  • Cadastrado em

  • Última visita

posts postados por iHollyZinhO

  1. 11 horas atrás, AdrianoSiqueira disse:

    += é um operador de atribuição e não de operação matemática. Por isso ele não funciona dentro do System.out.println();

     

    Você tem duas opções:

    
    // Atribuir o novo valor e depois imprimir
    // Essa é a forma mais adequada para o seu projeto
    public void acelerar() {
        motor.rpm += 100;
        System.out.println(motor.rpm);
    }
    
    // Imprimir com o valor temporariamente modificado
    // Note que dessa maneira, motor.rpm não terá o valor modificado
    public void acelerar() {
        System.out.println(motor.rpm + 100);
    }

     

     

    O que ele fez está certo. Uma operação de atribuição, além de alterar o valor, retorna o novo valor da variável.

    int x = 10;
    System.out.println(x += 10); //Imprime 20
    System.out.println(x = 5); //Imprime 5

     

    • Obrigado 1
  2. Como você já conseguiu fazer, vou lhe mostrar apenas os métodos básicos para você implementar de acordo com sua lógica.

     

    ArrayList<Integer> temperaturas = new ArrayList<Integer>();
    
    temperaturas.add(30);//Adiciona 30 ao ArrayList
    temperaturas.get(0);//Captura o elemento de índice 0 (que é o 30)
    
    //Com isso, você pode usar um for simples para iterar o ArrayList
    for(int i = 0; i < temperaturas.size(); i++)
    {
      
    }

     

    • Obrigado 1
  3. Você pode começar usando três vetores: de Mesa, de Garçom e de Consumo. Os códigos de cada struct irão corresponder ao índice do vetor da struct correspondente.

     

    A partir disso você monta todo o processo de manipulação.

     

    Exemplo:

    int main(void)
    {
    	struct Garcom garcons[5];
    	struct Mesa mesas[5];
      	
    	garcons[1].codigo_garcom = 1;
    	strcpy(garcons[1].nome, "Roberto"); //Precisa incluir string.h
      
    	mesas[0].cod_mesa = 0;
    	mesas[0].codigo_garcom = 1;
    	return 0;
    }

     

    • Curtir 1
    • Confuso 1
  4. Você pode alternar a visibilidade do componente jTable1 no ActionListener do botão de listar, por exemplo:

     

    jButton2.addActionListener(new ActionListener()
    {
    	public void actionPerformed(ActionEvent arg0) 
    	{
    		jTable1.setVisible(!jTable1.isVisible());
    	}
    });

     

    Como você está usando a tabela dentro de um JScrollPane, o cabeçalho da tabela pode não sumir, então você deve usar o setVisible no próprio JScrollPane e não na tabela.

  5. Para a parte do banheiro, ele está funcionando corretamente, mas não do jeito exato que você quer e, para isso, você precisa montar seu algoritmo.

     

    public void imprimir(){
      System.out.println("Tipo de Casco: "+getTipo_casco());
      System.out.println("Banheiro: "+getBanheiro() ? "Tem banheiro" : "Nao tem banheiro");
      //Ou:
      if(getBanheiro() == true)
      	System.out.println("Tem banheiro");
      else
        System.out.println("Nao tem banheiro");
    }

     

    • Obrigado 1
  6. É só criar um repositório (pode ser com um nome Projetos, por exemplo), adicionar todas as pastas do seu projeto e depois dar commit. Ficaria da seguinte forma, supondo que você não tenha nada criado ainda:

     

    cd Projeto
    git init //Torna a pasta Projeto um repositório
    git add . //Adiciona todos os arquivos da pasta para commit
    git commit -m "Iniciando as atividades" //Realiza o commit dos arquivos adicionados
    

    Depois disso você precisa criar seu repositório no GitHub e usar o git push (ao criar um novo repositório aparece os comandos).

    • Curtir 1
  7. 1º problema:

    Não é necessário usar o operador & no scanf quando se deseja ler uma string (%s).

     

    2º problema:

    Você pede para o usuário digitar 'S' para sim e 'N' para não. No entanto, quando você está fazendo as comparações da string com strcmp, você compara se o texto é igual a 'sim' e 'nao', sendo que a comparação deveria ser com 'S' e 'N'.

     

    Dica: Como você só irá armazenar um único caractere, não é necessário usar um vetor de char, ficando da seguinte forma:

    char fumante;
    scanf("%c", &fumante);
    if(fumante == 'S')
      printf("Fumante!");
    else
      printf("Nao fumante!");

     

    3º problema:

    Caso a comparação com strcmp seja verdadeira, você está lendo um valor inteiro, no entanto, não faz muito sentido. Pode ser um erro de interpretação meu, mas enfim, revise para ver se está correto.

    • Curtir 1
  8. Acho que não entendi muito bem o que você pretende fazer, mas pode fazer algo do tipo:

    JButton botões[] = new JButton[9];
    int botaoSorteado = -1;
    
    public MinhaClasse()
    {
        for(int i = 0; i < botões.length; i++)
        {
        	botões[i] = new JButton("Botão " + i);
        	botões[i].addActionListener(this);//Considerando que a classe atual esteja implementando os métodos da interface ActionListener
        }
    }
    
    public void actionPerformed(ActionEvent e)
    {
        int indClick = -1;
        for(int i = 0; i < botões.length && indClick == -1; i++)
        if(botões[i] == e.getSource())//Buscando o índice do botão clicado 
            indClick = i;
     
        if(botaoSorteado == -1)
        {
            Random rand = new Random();
            botaoSorteado = rand.nextInt(botao.length);//Sortear um botão entre os índices disponíveis
            
          	while(botaoSorteado == indClick)//Sortear novamente se o botão sorteado for o próprio botão clicado.
                botaoSorteado = rand.nextInt(botao.length);
        }
        else
        {
        	if(indClick == botaoSorteado)
                //Você acertou o botão que foi sorteado!
            else
                //Você errou o botão!
        }
    }

    Como não podemos apenas "entregar o código", eu fiz o máximo para clarear a ideia para você.

    • Curtir 1
  9. Sobre a questão do uso das chaves: as chaves devem ser usadas quando a quantidade de comandos da estrutura(condicional ou de repetição) for maior que 1. Ou seja, as chaves são utilizadas para demarcar um bloco de comandos a serem executados na estrutura.

     

    Exemplos:

    - Uso correto:

    //Com bloco de instruções
    if(numero == 1)
    {
        numero *= 2;
        printf("O número era 1 e foi multiplicado por 2!");
        printf("Digite um novo número: ");
        scanf("%d", &numero);
    }
    //Com uma única instrução
    if(numero == 1)
        printf("O número é 1!");

    - Uso incorreto:

    if(numero == 1)
        numero *= 2;
        printf("O número era 1 e foi multiplicado por 2!");
        printf("Digite um novo número: ");
        scanf("%d", &numero);
    
    //Neste caso, visando fazer o mesmo que era feito com o bloco, estaria incorreto, mas não daria erro.
    //Este código seria entendido da seguinte forma:
    
    if(numero == 1)
        numero *= 2;
    printf("O número era 1 e foi multiplicado por 2!");
    printf("Digite um novo número: ");
    scanf("%d", &numero);
    
    //Ou seja, para o compilador, se trataria apenas de uma falta de indentação do código.

     

    • Curtir 2

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!