Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Ler os lados de um triângulo e informar se ele é isósceles, escaleno ou equiláteroQuantidade de visualizações: 12828 vezes |
Pergunta/Tarefa: Um triângulo é uma forma geométrica (polígono) composta de três lados, sendo que cada lado é menor que a soma dos outros dois lados. Assim, para que um triângulo seja válido, é preciso que seus lados A, B e C obedeçam à seguinte regra: A < (B + C), B < (A + C) e C < (A + B). Escreva um programa Java que leia os três lados de um triângulo e verifique se tais valores realmente formam um triângulo. Se o teste for satisfatório, informe se o triângulo é isósceles (dois lados iguais e um diferente), escaleno (todos os lados diferentes) ou equilátero (todos os lados iguais). Sua saída deverá ser parecida com: Informe o primeiro lado do triângulo: 30 Informe o segundo lado do triângulo: 40 Informe o terceiro lado do triângulo: 60 O triângulo é escaleno Veja a resolução comentada deste exercício usando Java: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos fazer a leitura usando a classe Scanner Scanner entrada = new Scanner(System.in); // vamos ler o primeiro lado do triângulo System.out.print("Informe o primeiro lado do triângulo: "); int ladoA = Integer.parseInt(entrada.nextLine()); // vamos ler o segundo lado do triângulo System.out.print("Informe o segundo lado do triângulo: "); int ladoB = Integer.parseInt(entrada.nextLine()); // vamos ler o terceiro lado do triângulo System.out.print("Informe o terceiro lado do triângulo: "); int ladoC = Integer.parseInt(entrada.nextLine()); // os lados informados formam um triângulo? if((ladoA < (ladoB + ladoC)) && (ladoB < (ladoA + ladoC)) && (ladoC < (ladoA + ladoB))){ // é um triângulo equilátero (todos os lados iguais)? if((ladoA == ladoB) && (ladoB == ladoC)){ System.out.println("O triângulo é equilátero"); } else{ // é isósceles (dois lados iguais e um diferente)? if((ladoA == ladoB) || (ladoA == ladoC) || (ladoC == ladoB)){ System.out.println("O triângulo é isósceles"); } else{ // é escaleno System.out.println("O triângulo é escaleno"); } } } else{ System.out.println("Os lados informados não formam um triângulo."); } } } |
PHP ::: Dicas & Truques ::: Matemática e Estatística |
Como calcular raiz quadrada usando PHP - Como efetuar cálculos de raiz quadrada em PHP usando a função sqrt()Quantidade de visualizações: 14894 vezes |
Em algumas situações precisamos obter a raiz quadrada de um determinado valor. Em PHP isso pode ser feito com o auxílio da função sqrt(). Veja um exemplo de seu uso:<? // valor cuja raiz quadrada será obtida $valor = 25; // vamos obter a raiz quadrada do valor acima $raiz_quadrada = sqrt($valor); // vamos exibir o resultado echo "A raiz quadrada de " . $valor . " é: " . $raiz_quadrada; ?> Ao executarmos este código teremos o seguinte resultado: A raiz quadrada de 25 é: 5. Note, porém, que se tentarmos obter a raiz quadrada de um número negativo o valor será NAN. Veja: <? // valor cuja raiz quadrada será obtida $valor = -25; // vamos obter a raiz quadrada do valor acima $raiz_quadrada = sqrt($valor); // vamos exibir o resultado echo "A raiz quadrada de " . $valor . " é: " . $raiz_quadrada; ?> Ao executarmos este código teremos o seguinte resultado: A raiz quadrada de -25 é: NAN. |
Java ::: Pacote java.awt.event ::: KeyEvent |
Java Swing - Como usar o método getKeyCode() da classe KeyEvent para detectar as teclas de Espaço, Enter ou EscQuantidade de visualizações: 6155 vezes |
Em algumas situações nós precisamos detectar o pressionamento das teclas de Espaço, Enter ou Esc. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_SPACE (espaço), KeyEvent.VK_ENTER (Enter) ou KeyEvent.VK_ESCAPE (Esc). Veja um trecho de código no qual testamos se alguma destas três teclas foi pressionada: package estudos; import java.awt.Container; import java.awt.FlowLayout; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import javax.swing.JFrame; import javax.swing.JOptionPane; public class Janela extends JFrame implements KeyListener{ public Janela(){ super("Eventos do Teclado"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); // vamos adicionar o objeto listener addKeyListener(this); setSize(350, 250); setVisible(true); } @Override public void keyPressed(KeyEvent e){ // a tecla Space foi pressionada? if(e.getKeyCode() == KeyEvent.VK_SPACE){ JOptionPane.showMessageDialog(null, "A tecla de espaço foi pressionada"); } // a tecla Enter foi pressionada? else if(e.getKeyCode() == KeyEvent.VK_ENTER){ JOptionPane.showMessageDialog(null, "A tecla Enter foi pressionada"); } // a tecla Esc foi pressionada? else if(e.getKeyCode() == KeyEvent.VK_ESCAPE){ JOptionPane.showMessageDialog(null, "A tecla Esc foi pressionada"); } else{ JOptionPane.showMessageDialog(null, "Outra tecla foi pressionada"); } } @Override public void keyReleased(KeyEvent e){ // sem implementação } @Override public void keyTyped(KeyEvent e){ // sem implementação } public static void main(String args[]){ Janela j = new Janela(); j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } É importante observar que as teclas Space, Enter e Esc podem ser detectadas somente nos eventos keyPressed e keyReleased. |
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como remover espaços em branco no início e final de uma string C# usando o método Trim() da classe StringQuantidade de visualizações: 13886 vezes |
Nesta dica mostrarei como podemos usar a função Trim() da classe String da linguagem C# para remover os espaços no início e no fim de uma palavra, frase ou texto. Esta técnica é muito útil quando estamos trabalhando com dados informados pelos usuários de nossas aplicações. Veja o código completo para o exemplo: using System; namespace Estudos { class Program { static void Main(string[] args) { string texto = " temos espaços no início e fim "; Console.WriteLine(texto); // remove os espaços no início e fim da string texto = texto.Trim(); Console.WriteLine("." + texto + "."); Console.WriteLine("\n\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: temos espaços no início e fim .temos espaços no início e fim. |
C++ ::: Dicas & Truques ::: Matemática e Estatística |
Como testar se um número é primo em C++Quantidade de visualizações: 3182 vezes |
O Número Primo é o número maior que 1 e que só pode ser dividido por 1 e por ele mesmo, ou seja, números primos não podem ser divididos por outros números, a não ser por ele mesmo e pelo número 1. Dessa forma, 2, 3, 5, 7, 11, 13, 17, etc, são todos números primos. É importante observar que 0 e 1 não são números primos, e que o número 2 é o único número primo par. Veja agora um código C++ completo que pede para o usuário informar um número inteiro positivo e mostra uma mensagem indicando se o número informado é primo ou não: #include <iostream> #include <cstdlib> using namespace std; int main(int argc, char *argv[]){ int numero; bool primo = true; // vamos solicitar um número inteiro positivo cout << "Informe um número inteiro positivo: "; cin >> numero; // o número é negativo? if(numero < 0){ cout << "Número inválido.\n\n"; } // é 0 ou 1? else if((numero == 0) || (numero == 1)){ cout << "Número válido, mas não é primo.\n\n"; } // passou até aqui. Vamos testar se o número é primo else{ for (int i = 2; i <= (numero / 2); i++){ // se passar no teste, não é primo if (numero % i == 0) { primo = false; break; } } if(primo){ cout << "O número informado é primo\n\n"; } else{ cout << "O número informado não é primo\n\n"; } } system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este código C++ nós teremos o seguinte resultado: Informe um número inteiro positivo: 9 O número informado não é primo |
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como obter a quantidade de colunas em uma JTable usando o método getColumnCount()Quantidade de visualizações: 87 vezes |
Nesta dica mostrarei como é possível contar as colunas de uma JTable com uma chamada ao método getColumnCount() da interface TableModel, que representa os dados contidos na tabela. Note que, neste exemplo, eu escrevi toda a aplicação Java Swing "na unha", ou seja, sem nenhum editor visual. Esta técnica é boa para entender todas as partes que compoem uma aplicação Java Swing. Veja o código completo: package arquivodecodigos; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Estudos extends JFrame{ public Estudos(){ super("Exemplo de uma tabela simples"); // colunas da tabela String[] colunas = {"Cidade", "Estado", "Habitantes"}; // conteúdo da tabela Object[][] conteudo = { {"Goiânia", "GO", "43.023.432"}, {"São Paulo", "SP", "5.343.234"}, {"Rio de Janeiro", "RJ", "6.434.212"}, {"Jussara", "GO", "87.454"}, {"Barra do Garças", "MT", "64.344"} }; // constrói a tabela final JTable tabela = new JTable(conteudo, colunas); tabela.setPreferredScrollableViewportSize( new Dimension(350, 50)); Container c = getContentPane(); c.setLayout(new FlowLayout()); JButton btn = new JButton("Número de Colunas"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null, "Quantidade de colunas: " + tabela.getModel().getColumnCount(), "JTable", JOptionPane.INFORMATION_MESSAGE); } } ); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); c.add(btn); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este exemplo e clicar no botão nós veremos uma mensagem JOptionPane.showMessageDialog() com o seguinte texto: Quantidade de colunas: 3 |
C# ::: Dicas & Truques ::: Arquivos e Diretórios |
Como excluir um diretório em C# usando a função Delete() da classe DirectoryInfoQuantidade de visualizações: 211 vezes |
O método Delete() da classe DirectoryInfo do C# é muito útil quando precisamos excluir um diretório. Esta função é do tipo void, ou seja, não retorna nada. Veja um código completo demonstrando o seu uso: using System; using System.IO; namespace Estudos { class Principal { static void Main(string[] args) { // vamos criar uma nova instância da classe DirectoryInfo DirectoryInfo dir = new DirectoryInfo(@"C:\estudos_csharp\imagens"); // vamos tentar excluir o diretório try { dir.Delete(); Console.WriteLine("Diretório excluído com sucesso."); } catch (Exception e) { Console.WriteLine("Não foi possível excluir o diretório: {0}", e.ToString()); } Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Diretório excluído com sucesso. Se o diretório a ser excluido não estiver vazio, a chamada ao método System.IO.DirectoryInfo.Delete() poderá gerar o seguinte erro: Não foi possível excluir o diretório: System.IO.IOException: A pasta não está vazia. : 'C:\estudos_csharp\imagens' at System.IO.FileSystem.RemoveDirectoryInternal(String fullPath, Boolean topLevel, Boolean allowDirectoryNotEmpty) at System.IO.FileSystem.RemoveDirectory(String fullPath, Boolean recursive) at System.IO.DirectoryInfo.Delete() at Estudos.Principal.Main(String[] args) in C:\estudos_c#\Estudos\Principal.cs:line 12 |
Delphi ::: VCL - Visual Component Library ::: TListBox |
Como excluir o item ou itens selecionados em uma TListBox do Delphi usando a função DeleteSelectedQuantidade de visualizações: 13421 vezes |
Em algumas ocasiões nós precisamos excluir o item ou os itens selecionados em uma TListBox. Isso pode ser feito com o auxílio do método DeleteSelected da classe TListBox. Veja um trecho de código no qual excluímos apenas o item selecionado:procedure TForm3.FormCreate(Sender: TObject); begin // vamos adicionar alguns itens na ListBox ListBox1.Items.Add('Goiânia'); ListBox1.Items.Add('Curitiba'); ListBox1.Items.Add('Brasilia'); end; procedure TForm3.Button1Click(Sender: TObject); begin // vamos excluir o item selecionado ListBox1.DeleteSelected; end; É possível conseguir o mesmo resultado usando o método Delete() do objeto Items (do tipo TStrings). Veja: procedure TForm3.Button1Click(Sender: TObject); begin // vamos excluir o item selecionado ListBox1.Items.Delete(ListBox1.ItemIndex); end; Note que o método Delete() do objeto Items exige o índice do elemento a ser removido. Com o método DeleteSelected da classe TListBox esta exigência não existe. Além disso, o método DeleteSelected permite excluir mais de um elemento selecionado, ou seja, ele excluir todos os elementos selecionados. Veja: procedure TForm3.FormCreate(Sender: TObject); begin // vamos adicionar alguns itens na ListBox ListBox1.Items.Add('Goiânia'); ListBox1.Items.Add('Curitiba'); ListBox1.Items.Add('Brasilia'); // para que este exemplo funcione corretamente, a ListBox // deverá permitir seleção múltipla ListBox1.MultiSelect := True; end; procedure TForm3.Button1Click(Sender: TObject); begin // vamos excluir todos os itens selecionados ListBox1.DeleteSelected; end; Execute este código, selecione mais de um item e clique no botão para verificar o resultado. Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Python ::: Dicas & Truques ::: Strings e Caracteres |
Como concatenar strings em Python usando o operador de adiçãoQuantidade de visualizações: 13349 vezes |
A concatenação de textos, frases ou palavras pode ser feita em Python usando-se o operador de soma (ou adição). Veja um exemplo de como isso pode ser feito:# método principal def main(): frase1 = "Gosto de " frase2 = "Python" frase3 = frase1 + frase2 # mostra o resultado print(frase3) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: c:\estudos_python>python estudos.py Gosto de Python |
MySQL ::: Dicas & Truques ::: Data e Hora |
Como calcular a diferença em dias entre duas datas do MySQL usando a função DATEDIFF()Quantidade de visualizações: 19172 vezes |
A função DATEDIFF() é usada quando precisamos obter a diferença entre duas datas. Ela aceita dois argumentos: expr1 e expr2 e retorna expr1 ? expr2 como um valor em dias de uma data para a outra. Tanto expr1 quanto expr2 são campos do tipo DATE, DATETIME ou TIMESTAMP. Somente a parte date é usada nos cálculos. Veja um exemplo de seu uso:SELECT DATEDIFF('2008-03-10','2008-02-10') O resultado será 29. Veja mais um exemplo: SELECT DATEDIFF(NOW(), vencimento) FROM tabela_estudos Aqui nós obtemos a quantidade de dias que já se passaram entre a data de hoje e o valor armazenado no campo vencimento. |
Nossas 20 dicas & truques de programação mais populares |
C# - C# Windows Forms para iniciantes - Como limpar todo o conteúdo de um controle TextBox via código |
Você também poderá gostar das dicas e truques de programação abaixo |
AutoCAD Civil 3D .NET C# - Como retornar a quantidade de perfis de um alinhamento do Civil 3D usando a função GetProfileIds() da API C# do AutoCAD Civil 3D Java - Exercícios Resolvidos de Java - Como converter de binário para decimal em Java usando o laço for |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |