Você está aqui: Java ::: Coleções (Collections) ::: Stack

Pesquisando e retornando a posição de um elemento na Stack

Quantidade de visualizações: 8166 vezes


Algumas vezes pode ser necessário saber a posição de um elemento em relação ao topo de uma Stack. O método search() nos permite fazer isso. Este método recebe o elemento a ser pesquisado e retorna sua posição na pilha. Lembre-se de que o elemento no topo está na posição 1, e não na posição 0, como poderíamos pensar.

O trecho de código abaixo mostra como verificar a posição de um elemento "Goiânia" na pilha:
import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    // Cria uma Stack de String
    Stack<String> pilha = new Stack<String>();
    
    // adiciona três elementos na pilha
    pilha.push("Cuiabá");
    pilha.push("Goiânia");
    pilha.push("Belo Horizonte");

    // obtém a posição do elemento "Goiânia"
    int pos = pilha.search("Goiânia");
    System.out.println("Elemento pesquisado esta " +
      "na posicao: " + pos);
  } 
}


Link para compartilhar na Internet ou com seus amigos:

Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o coeficiente angular de uma reta em Java dados dois pontos no plano cartesiano

Quantidade de visualizações: 1601 vezes
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x.

Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano:



Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é:

\[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \]

Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente.

Veja agora o trecho de código na linguagem Java que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;
 
import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    // coordenadas dos dois pontos
    double x1, y1, x2, y2;
    // guarda o coeficiente angular
    double m; 
       
    // x e y do primeiro ponto
    System.out.print("Coordenada x do primeiro ponto: ");
    x1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Coordenada y do primeiro ponto: ");
    y1 = Double.parseDouble(entrada.nextLine());
    
    // x e y do segundo ponto
    System.out.print("Coordenada x do segundo ponto: ");
    x2 = Double.parseDouble(entrada.nextLine());
    System.out.print("Coordenada y do segundo ponto: ");
    y2 = Double.parseDouble(entrada.nextLine());   
     
    // vamos calcular o coeficiente angular
    m = (y2 - y1) / (x2 - x1);
     
    // mostramos o resultado
    System.out.println("O coeficiente angular é: " + m);
    
    System.out.println("\n\n");
    System.exit(0);
  }
} 

Ao executar este código Java nós teremos o seguinte resultado:

Coordenada x do primeiro ponto: 3
Coordenada y do primeiro ponto: 6
Coordenada x do segundo ponto: 9
Coordenada y do segundo ponto: 10
O coeficiente angular é: 0.6666666666666666

Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;
 
import java.util.Scanner;

public class Estudos{
  public static void main(String args[]){
    // para ler a entrada do usuário
    Scanner entrada = new Scanner(System.in);
    // coordenadas dos dois pontos
    double x1, y1, x2, y2;
    // guarda os comprimentos dos catetos oposto e adjascente
    double cateto_oposto, cateto_adjascente;
    // guarda o ângulo tetha (em radianos) e a tangente
    double tetha, tangente; 
       
    // x e y do primeiro ponto
    System.out.print("Coordenada x do primeiro ponto: ");
    x1 = Double.parseDouble(entrada.nextLine());
    System.out.print("Coordenada y do primeiro ponto: ");
    y1 = Double.parseDouble(entrada.nextLine());
    
    // x e y do segundo ponto
    System.out.print("Coordenada x do segundo ponto: ");
    x2 = Double.parseDouble(entrada.nextLine());
    System.out.print("Coordenada y do segundo ponto: ");
    y2 = Double.parseDouble(entrada.nextLine());   
     
    // vamos obter o comprimento do cateto oposto
    cateto_oposto = y2 - y1;
    // e agora o cateto adjascente
    cateto_adjascente = x2 - x1;
    // vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
    // (em radianos, não se esqueça)
    tetha = Math.atan2(cateto_oposto, cateto_adjascente);
    // e finalmente usamos a tangente desse ângulo para calcular
    // o coeficiente angular
    tangente = Math.tan(tetha);
     
    // mostramos o resultado
    System.out.println("O coeficiente angular é: " + tangente);
    
    System.out.println("\n\n");
    System.exit(0);
  }
} 

Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta:

1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0;

2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0;

3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0).

4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe.


Java ::: Coleções (Collections) ::: HashMap

Java HashMap - Como fornecer uma chave e obter seu valor correspondente em um HashMap

Quantidade de visualizações: 9088 vezes
O uso de um HashMap só se justifica quando podemos guardar os mapeamentos e recuperá-los de forma rápida e fácil. Para isso, a classe HashMap nos fornece o método get(). Este método recebe a chave a ser pesquisada e retorna o valor associado a ela. Veja sua assinatura:

public V get(Object key)
Se a chave informada não estiver no HashMap, o valor null é retornado. Mas, cuidado, como o HashMap aceita valores null tanto para as chaves quanto para os valores associados a cada chave, é possível que o valor null retornado se refira ao valor associado à chave pesquisada. Uma boa idéia é usar o método containsKey() em conjunto com get().

Veja um exemplo no qual usamos o método get() para retornar o valor associado à chave informada:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

package arquivodecodigos;

import java.util.*;
 
public class Estudos{
  public static void main(String[] args){
    // vamos criar uma instância de HashMap
    HashMap<Integer, String> clientes = new HashMap<Integer, String>();
 
    // vamos adicionar três chaves e seus valores
    clientes.put(new Integer(1), "Osmar J. Silva");
    clientes.put(new Integer(2), "Salvador Miranda de Andrade");
    clientes.put(new Integer(3), "Marcos da Costa Santos");
       
    // vamos obter o valor correspondente à chave 2
    String c = clientes.get(2);
 
    // vamos exibir o resultado
    if(c != null){
      System.out.println("O valor para esta chave é: " + c);
    }
    else{
      System.out.println("O HashMap não contém a chave informada.");
    }
 
    System.exit(0);
  }
}

Ao executarmos este código Java nós teremos o seguinte resultado:

O valor para esta chave é: Salvador Miranda de Andrade


Java ::: Classes e Componentes ::: JTextField

Java Swing - Como definir a cor do texto de um JTextField usando o método setForeground()

Quantidade de visualizações: 10439 vezes
Nesta dica eu mostro como podemos usar o método setForeground() da classe JTextField para definir a cor de seu texto. Note que esta função pede um objeto da classe Color, por isso, neste exemplo, forneci o valor Color.BLUE.

Veja o código Java Swing completo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
 
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
 
public class Estudos extends JFrame{
  JTextField texto;  
 
  public Estudos() {
    super("Estudos Swing");
     
    Container c = getContentPane();
    c.setLayout(new FlowLayout(FlowLayout.LEFT));
 
    // Cria um botão
    JButton btn = new JButton("Definir cor do texto");
    btn.addActionListener(
      new ActionListener(){
        public void actionPerformed(ActionEvent e){
          // vamos definir a cor do texto como azul
          texto.setForeground(Color.BLUE); 
        }
      }
    );
     
    // Cria o JTextField
    texto = new JTextField(10);     
 
    // Adiciona o botão à janela
    c.add(btn);
    // Adiciona o JTextField à janela
    c.add(texto);  
 
    setSize(350, 250);
    setVisible(true);
  }
   
  public static void main(String args[]){
    Estudos app = new Estudos();
    app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }
}



Desafios, Exercícios e Algoritmos Resolvidos de Java

Veja mais Dicas e truques de Java

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 73 usuários muito felizes estudando em nosso site.