Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Algorítmos Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static) - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 14736 vezes |
Exercícios Resolvidos de Java - A classe Retangulo (construtores, getters e setters, encapsulamento e static) Pergunta/Tarefa: Escreva uma classe Retangulo para representar um retângulo. A classe deve conter: a) Dois campos de dados do tipo double chamados largura e altura que especificam a largura e a altura do retângulo. Os valores padrões são 1 tanto para a largura quanto para a altura. b) Um campo de dado do tipo String chamado cor que especifica a cor do retângulo. Para este exercício em particular, assuma que TODOS os retângulos possuirão a mesma cor. A cor padrão é branco. c) Um construtor sem argumentos que cria um retângulo padrão. d) Um construtor que cria um retângulo com a largura e altura especificadas. e) Métodos get() e set() para os três campos de dados da classe. f) Um método chamado getArea() que retorna a área do retângulo. g) Um método chamado getPerimetro() que retorna o perímetro do retângulo. Escreva um programa de teste que cria dois objetos da classe Retangulo. Sua saída deverá ser parecida com: Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: Retangulo.java ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Retangulo { private double largura; // largura do retângulo private double altura; // altura do retângulo // O exercício pede que TODOS os retângulos tenham a mesma cor // consulte a dica http://www.arquivodecodigos.net/dicas/1158 para mais // detalhes sobre o modificador static private static String cor = "branco"; // cor do retângulo // construtor sem argumentos public Retangulo(){ this.largura = 1; this.altura = 1; } // construtor que permite especificar a largura e a altura public Retangulo(double largura, double altura){ this.largura = largura; this.altura = altura; } // obtém a altura public double getAltura() { return altura; } // define a altura public void setAltura(double altura){ this.altura = altura; } // obtém a largura public double getLargura(){ return largura; } // define a largura public void setLargura(double largura){ this.largura = largura; } // obtém a cor de TODOS os retângulos public static String getCor(){ return cor; } // define a cor de TODOS os retângulos public static void setCor(String cor){ Retangulo.cor = cor; } // este método retorna a área do retângulo (em metros quadrados) public double getArea(){ return (this.largura * this.altura); } // este método retorna o perímetro do retângulo (em metros) public double getPerimetro(){ return ((2 * this.largura) + (2 * this.altura)); } } Agora o teste no método main(): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Estudos { public static void main(String[] args) { // vamos criar uma instância da classe Retangulo com // os valores padrões Retangulo a = new Retangulo(); // agora vamos informar a largura e a altura Retangulo b = new Retangulo(10, 5); // os dois retângulos terão a cor verde Retangulo.setCor("verde"); // vamos mostrar os resultados do primeiro retângulo System.out.println("Primeiro retângulo"); System.out.println("Largura: " + a.getLargura()); System.out.println("Altura: " + a.getAltura()); System.out.println("Cor: " + Retangulo.getCor()); System.out.println("Área: " + a.getArea() + " metros quadrados"); System.out.println("Perímetro: " + a.getPerimetro() + " metros"); // vamos mostrar os resultados do segundo retângulo System.out.println("\nSegundo retângulo"); System.out.println("Largura: " + b.getLargura()); System.out.println("Altura: " + b.getAltura()); System.out.println("Cor: " + Retangulo.getCor()); System.out.println("Área: " + b.getArea() + " metros quadrados"); System.out.println("Perímetro: " + b.getPerimetro() + " metros"); } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas |
Como calcular o cosseno de um ângulo em Java usando o método cos() da classe Math - Calculadora de cosseno em JavaQuantidade de visualizações: 1484 vezes |
Como calcular o cosseno de um ângulo em Java usando o método cos() da classe Math - Calculadora de cosseno em Java Em geral, quando falamos de cosseno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função cosseno disponível nas linguagens de programação para calcular o cosseno de qualquer número, mesmo nossas aplicações não tendo nenhuma relação com trigonometria. No entanto, é sempre importante entender o que é a função cosseno. Veja a seguinte imagem: Veja que temos um triângulo retângulo com as medidas já calculadas para a hipotenusa e os dois catetos, assim como os ângulos entre eles. Assim, o cosseno é a razão entre o cateto adjascente e a hipotenusa, ou seja, o cateto adjascente dividido pela hipotenusa. Veja a fórmula: \[\text{Cosseno} = \frac{\text{Cateto adjascente}}{\text{Hipotenusa}} \] Então, se dividirmos 30 por 36.056 (na figura eu arredondei) nós teremos 0.8320, que é a razão entre o cateto adjascente e a hipotenusa (em radianos). Agora, experimente calcular o arco-cosseno de 0.8320. O resultado será 0.5881 (em radianos). Convertendo 0.5881 radianos para graus, nós obtemos 33.69º, que é exatamente o ângulo em graus entre o cateto adjascente e a hipotenusa na figura acima. Pronto! Agora que já sabemos o que é cosseno na trigonometria, vamos entender mais sobre a função cos() da linguagem Java. Esta método, que faz parte da classe Math, recebe um valor numérico e retorna um valor, também numérico) entre -1 até 1 (ambos inclusos). Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package arquivodecodigos; public class Estudos{ public static void main(String args[]){ System.out.println("Cosseno de 0 = " + Math.cos(0)); System.out.println("Cosseno de 1 = " + Math.cos(1)); System.out.println("Cosseno de 2 = " + Math.cos(2)); } } Ao executar este código Java nós teremos o seguinte resultado: Cosseno de 0 = 1.0 Cosseno de 1 = 0.5403023058681398 Cosseno de 2 = -0.4161468365471424 Note que calculamos os cossenos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função cosseno mostrada abaixo: |
Java ::: Coleções (Collections) ::: Vector |
Como copiar todos os elementos de um Vector Java para um arrayQuantidade de visualizações: 7948 vezes |
Muitas vezes precisamos obter um array a partir de um Vector. Isso pode ser feito usando-se o método copyInto(). Veja sua assinatura:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- public void copyInto(Object[] anArray) Veja que os elementos do Vector são copiados para as mesmas posições no array. Assim, precisamos ficar atentos. Aqui podemos ter três exceções: NullPointerException (se o array fornecido como argumento for null), IndexOutOfBoundsException (se o array fornecido não for grande o suficiente para acomodar todos os elementos do array) e ArrayStoreException (se o tipo dos elementos do Vector não for de um tipo que pode ser armazenado no array fornecido como argumento). O trecho de código abaixo mostra como copiar todos os elementos de um Vector de String para um array de String: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.*; public class Estudos{ public static void main(String args[]){ // Cria o Vector Vector<String> nomes = new Vector<String>(); // adiciona itens ao Vector nomes.addElement("Osmar"); nomes.addElement("Marcos"); nomes.addElement("Ingrid"); // Cria o array String[] arrayNomes = new String[3]; // copia os elementos do Vector para o array nomes.copyInto(arrayNomes); // Exibe o conteúdo do array for(int i = 0; i < arrayNomes.length; i++){ System.out.println(arrayNomes[i]); } } } Ao executar este código Java nós teremos o seguinte resultado: Osmar Marcos Ingrid |
Java ::: Java Swing - Componentes Visuais ::: JList |
Como retornar os índices dos itens selecionados em uma JList de seleção múltipla do Java SwingQuantidade de visualizações: 7728 vezes |
Em outra dica desta seção nós vimos como obter e retornar os valores selecionados em uma JList de múltipla seleção do Java Swing. Agora veremos como retornar os índices dos valores selecionados. Para isso nós vamos usar o método getSelectedIndices(), que retorna um vetor (array) de inteiros. Note o uso da constante ListSelectionModel.MULTIPLE_INTERVAL_SELECTION fornecida para o método setSelectionMode() da JList para indicar a forma de seleção que estamos usando no exemplo. Veja o código Java Swing completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Estudos extends JFrame{ JList lista; public Estudos() { super("A classe JList"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Cria os itens da lista String nomes[] = {"Carlos", "Marcelo", "Fabiana", "Carolina", "Osmar"}; // Cria a JList lista = new JList(nomes); // Define a seleção múltipla para a lista lista.setSelectionMode( ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); // Um botão que permite obter os índices do itens // selecionados JButton btn = new JButton("Obter índices selecionados"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ int[] indices = lista.getSelectedIndices(); String res = "Índices selecionados:\n"; for(int i = 0; i < indices.length; i++) res += indices[i] + "\n"; JOptionPane.showMessageDialog(null, res); } } ); // Adiciona a lista à janela c.add(new JScrollPane(lista)); // Adiciona o botão à janela c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Lembre-se que as teclas Ctrl ou Shift devem estar pressionadas enquanto escolhemos os itens de uma JList de seleção múltipla. |
Vamos testar seus conhecimentos em Fenômeno de Transportes e Hidráulica |
Fenômeno de Transportes De uma grande barragem, parte uma canalização de 250mm de diâmetro, de onde a água passa para a atmosfera sob a forma de jato. A vazão deste jato é 360L/s. Calcular a velocidade Vj do jato e a altura (H) na barragem. Considere que não há perda de energia no processo e que a velocidade de decaimento do nível da barragem é nula. A) Vj = 7,33m/s e H = 2,74m. B) Vj = 1,83m/s e H = 0,17m. C) Vj = 2,46m/s e H = 0,31m. D) Vj = 7,33m/s e H = 0,37m, E) Vj =7,33 X 10-3m/s e H = 2,74 X 10-6m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual é a forma correta de se criar funções em Python? A) defun calcular(): B) def calcular(): C) void calcular(): D) def calcular(){} E) function calcular(): Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Questões de Concurso Engenharia Civil - Fundações COPEL - No estudo do subsolo para projeto de fundações, o número de golpes dados com um peso padrão, caindo em queda livre, de uma altura constante, necessários para a penetração de um amostrador padrão à profundidade de 30cm é denominado: A) Índice coesivo. B) Índice SPT. C) Carga morta. D) Índice de resistência à penetração. E) Carga aparente. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual o resultado da execução do seguinte código Python?valores = [4, 1, 8, 3, 7, 9] for i in range(0, len(valores)): if i % 2 == 0: print("{0} ".format(valores[i]), end="") A) Erro NameError: name 'end' is not defined na linha 4 B) 4 1 8 C) Erro SyntaxError: invalid syntax na linha 3 D) 1 3 9 E) 4 8 7 Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Dimensionamento de pilares de extremidade O índice de esbeltez de um pilar de extremidade pode ser considerado um parâmetro de verificação da resistência desses elementos à flambagem. Em sua determinação, consideram-se o comprimento equivalente e o raio de giração do pilar. Analise o pilar a seguir e assinale a alternativa que corresponde ao coeficiente de esbeltez nas direções x e y do referido pilar. A) 50,63 na direção x e 15,5 na direção y. B) 35,75 na direção x e 58,63 na direção y. C) 85,45 na direção x e 25,67 na direção y. D) 71,51 na direção x e 23,84 na direção y. E) 70,35 na direção x e 35,68 na direção y. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Java - Exercício Resolvido de Java - Usando um laço for para contar de 0 até 10 e somar todos os valores |
Códigos Fonte |
Software 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 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 |