Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços |
Escreva um programa Java para somar N números informados pelo usuário usando o laço for - Desafio de Programação Resolvido em JavaQuantidade de visualizações: 489 vezes |
Pergunta/Tarefa: Escreva um programa Java para somar N números informados pelo usuário usando o laço for. Seu código deverá pedir para o usuário informar a quantidade de números a serem somados. Em seguida, use o laço for para pedir a digitação de todos os números. Na saída do laço informe a soma dos valores informados. Atenção: A sua solução deverá, obrigatoriamente, usar o laço for. Sua saída deverá ser parecida com: Quantidade de números: 5 Informe o 1.o número: 3 Informe o 2.o número: 4 Informe o 3.o número: 1 Informe o 4.o número: 2 Informe o 5.o número: 6 A soma dos números é: 16 Veja a resolução comentada deste exercício em Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; 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); // inicializa soma como zero int soma = 0; // vamos ler a quantidade de números que o usuário // deseja somar System.out.print("Quantidade de números: "); int quantidade = Integer.parseInt(entrada.nextLine()); // agora usamos o laço for para ler os números // um de cada vez System.out.println(); for (int i = 1; i <= quantidade; i++) { System.out.print("Informe o " + i + ".o número: "); int numero = Integer.parseInt(entrada.nextLine()); // agora adicionamos o número lido à soma que // já temos soma = soma + numero; } // depois de sair do laço nós mostramos a soma // de todos os números lidos System.out.println("\nA soma dos números é: " + soma + "\n\n"); } } |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Dicas & Truques ::: Gráficos |
Como desenhar em um JComponent (JLabel, JButton, JPanel, etc) usando o método getGraphics() para obter o contexto de desenhoQuantidade de visualizações: 13919 vezes |
A classe JComponent possui um método chamado getGraphics() que retorna um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade. Antes de demonstrarmos como isso funciona, tenha em mente que o contexto de desenho de um componente só está disponível após ele ser pintado pela primeira vez. Se tentarmos obter o Graphics antes que o componente tenha sido pintado, corremos o risco de lançar uma exceção NullPointerException. O trecho de código abaixo mostra como desenhar uma linha em um JLabel ao clicar em um botão. Fique atento a este código. Boa parte das dicas vistas nesta seção usam esta abordagem: ---------------------------------------------------------------------- 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{ JLabel label; public Estudos() { super("Desenhando em um JLabel"); Container c = getContentPane(); c.setLayout(new BorderLayout()); // Cria um JLabel label = new JLabel(); c.add(label, BorderLayout.CENTER); // Cria um botão JButton btn = new JButton("Desenhar uma linha"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ // Desenha uma linha no JLabel Graphics graphics = label.getGraphics(); graphics.drawLine(0, 0, 150, 100); } } ); // Adiciona o botão à janela c.add(btn, BorderLayout.SOUTH); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Programação Orientada a Objetos |
Exercício Resolvido de Java - A classe Produto (construtores, métodos, getters e setters e encapsulamento)Quantidade de visualizações: 17110 vezes |
Pergunta/Tarefa: Crie uma classe Produto para representar um produto do mundo real. Sua classe deverá conter os seguintes atributos e métodos: 1) Um campo de dados privado do tipo String chamado nome, que representará o nome do produto. 2) Um campo de dados privado do tipo double chamado precoCusto, que guardará o preço de custo do produto. 3) Um campo de dados privado do tipo double chamado precoVenda, que guardará o preço de venda do produto. 4) Um campo de dados privado do tipo double chamado margemLucro, que guardará a margem de lucro do produto. 5) Métodos públicos get() e set() para os atributos acima. Modifique o método setPrecoVenda() para que o preço de venda não seja inferior ao preço de compra. Caso isso aconteça, exiba uma mensagem alertando o usuário. 6) Crie um método chamado calcularMargemLucro() que calculará a margem de lucro do produto. 7) Crie um método chamado getMargemLucroPorcentagem() que retornará a margem de lucro como percentual. Para finalizar, no método main() da classe de teste, crie um novo objeto da classe Produto, peça para o usuário informar os preços de custo e de venda e exiba a margem de lucro em moeda e em percentual. Sua saída deverá ser algo parecido com o mostrado na imagem abaixo: Informe o preço de custo: 120 Informe o preço de venda: 195 Preço de custo: 120.0 Preço de Venda: 195.0 Margem de Lucro: 75.0 Margem de Lucro Percentual (%): 62.5 Veja a resolução comentada deste exercício usando Java console: Produto.java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; public class Produto{ private String nome; // nome do produto private double precoCusto; // preço de custo do produto private double precoVenda; // preço de venda do produto private double margemLucro; // margem de lucro do produto // obtém a margem de lucro public double getMargemLucro(){ return margemLucro; } // define a margem de lucro public void setMargemLucro(double margemLucro){ this.margemLucro = margemLucro; } // obtém o nome do produto public String getNome(){ return nome; } // define o nome do produto public void setNome(String nome){ this.nome = nome; } // obtém o preço de custo public double getPrecoCusto(){ return precoCusto; } // define o preço de custo public void setPrecoCusto(double precoCusto){ this.precoCusto = precoCusto; } // obtém o preço de venda public double getPrecoVenda(){ return precoVenda; } // define o preço de venda public void setPrecoVenda(double precoVenda){ // o preço de venda não pode ser menor que o preço de custo if(precoVenda < this.precoCusto){ System.out.println("O preço de venda não pode ser inferior ao de custo"); } else{ this.precoVenda = precoVenda; } } // calcula a margem de lucro public void calcularMargemLucro(){ this.margemLucro = this.precoVenda - this.precoCusto; } // retorna a margem de lucro em porcentagem public double getMargemLucroPorcentagem(){ return (this.margemLucro / this.precoCusto) * 100; } } Veja agora o método main() que nos permite testar a funcionalidade da classe Produto: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos criar um novo objeto da classe Produto Produto p = new Produto(); // vamos ler o preço de custo System.out.print("Informe o preço de custo: "); p.setPrecoCusto(Double.parseDouble(entrada.nextLine())); // vamos ler o preço de venda System.out.print("Informe o preço de venda: "); p.setPrecoVenda(Double.parseDouble(entrada.nextLine())); // vamos calcular a margem de lucro p.calcularMargemLucro(); // vamos exibir os resultados System.out.println("Preço de custo: " + p.getPrecoCusto()); System.out.println("Preço de Venda: " + p.getPrecoVenda()); System.out.println("Margem de Lucro: " + p.getMargemLucro()); System.out.println("Margem de Lucro Percentual (%): " + p.getMargemLucroPorcentagem()); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercício Resolvido de Java - Escreva um programa Java que efetue a soma dos elementos da diagonal principal de uma matrizQuantidade de visualizações: 1402 vezes |
Pergunta/Tarefa: Em álgebra linear, a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito (conforme mostrado na saída do problema proposto abaixo). Escreva um programa Java que declara uma matriz 3x3 e pede ao usuário para informar seus valores. Em seguida mostre todos os valores da matriz e a soma dos elementos da diagonal principal. Sua saída deverá ser parecida com a imagem abaixo: Resposta/Solução: Veja a resolução comentada deste exercício em Java: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos{ public static void main(String args[]){ // vamos usar a classe Scanner para a leitura dos dados Scanner entrada = new Scanner(System.in); int matriz[][] = new int[3][3]; // uma matriz de três linhas e três colunas int soma_diagonal = 0; // guarda a soma dos elementos na diagonal principal // vamos ler os valores para os elementos da matriz for(int i = 0; i < 3; i++){ // linhas for(int j = 0; j < 3; j++){ // colunas System.out.print("Valor para a linha " + i + " e coluna " + j + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } } // vamos mostrar a matriz da forma que ela foi informada System.out.println("\nValores na matriz\n"); for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ System.out.printf("%5d ", matriz[i][j]); } // passa para a próxima linha da matriz System.out.println(); } // vamos calcular a soma dos elementos da diagonal principal for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ if(i == j){ soma_diagonal = soma_diagonal + matriz[i][j]; } } } System.out.println("\nA soma dos elementos da diagonal principal é: " + soma_diagonal); } } |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas ou rasas As fundações rasas são executadas nas camadas mais superficiais do solo, geralmente em profundidades inferiores a 2m e são utilizadas comumente em obras de pequeno ou médio porte. De acordo com a norma ABNT NBR 6122: 2010 (Projeto e execução de fundações), no que se refere às fundações superficiais rasas ou diretas, assinale a alternativa correta. A) No dimensionamento de fundação superficial solicitada por carga excêntrica, a área comprimida deve ser de, no mínimo, dois terços da área total da fundação. B) Levando em consideração o custo-benefício de uma obra, recomenda-se que a profundidade mínima para assentamento de uma sapata seja de 1m. C) As partes da fundação rasa em contato com o solo devem ser concretadas sobre um lastro de concreto estrutural igual a 2,5cm de espessura. D) No caso de fundações próximas, porém situadas em cotas diferentes, a fundação situada em cota mais alta deve sempre ser executada primeiro. E) As sapatas isoladas não devem ter dimensões em planta inferiores a 1m. Se esse critério não puder ser utilizado, deve-se adotar outro tipo de fundação. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Serviços preliminares e instalações provisórias A instalação de tapumes é obrigatória em atividades de construção, para impedir o acesso de pessoas estranhas ao serviço. Sobre a instalação de tapumes e serviços decorrentes: A) Os tapumes devem ter altura mínima de 2,2 m em relação ao nível do terreno. B) Em edifícios com mais de dois pavimentos, é facultativa a construção de galerias para o tráfego de pedestres sobre o passeio. C) As bordas da galeria para pedestres devem possuir tapumes com altura mínima de 2,0 m e inclinação de 45°. D) Não é obrigatória a instalação de tapume em todo o perímetro da obra, apenas na testada do lote. E) As galerias para o tráfego de pedestres devem ter altura livre mínima de 2,5 m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Cisalhamento e detalhamento de vigas Conforme a NBR 6118 (ABNT, 2014), a armadura transversal mínima deve ser colocada nas vigas de modo a garantir a estabilidade das estruturas, mesmo na eventualidade de serem aplicados carregamentos não previstos no cálculo, evitando a ruptura abrupta logo após o surgimento das primeiras fissuras inclinadas. Nesse contexto, qual a armadura transversal mínima necessária por metro de viga, tendo em vista que ela tem seção de 30 x 80cm e altura útil de 77cm? Adote concreto C35 e aço CA-50. A) 2,43cm2/m. B) 2,84cm2/m. C) 3,12cm2/m. D) 3,54cm2/m. E) 3,85cm2/m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Instalações Hidráulicas Prediais |
Materiais empregados para instalação de água fria e esgoto Em terminais de pias e acessórios embutidos na parede, onde são rosqueadas mangueiras e conexões, é indicada a aplicação de joelhos reforçados, em que a rosca é metálica, embutida sob pressão no PVC. A identificação dessa conexão é por um anel azul em sua face. Em relação ao joelho convencional, que é todo em PVC, a vantagem é: A) estética, uma vez que a face do joelho proporciona um acabamento rente ao azulejo superior à comum. B) econômica pois elimina uma série de outros componentes e conexões. C) o sistema de engate rapido por meio de utilização de anel de vedação junto à rosca. D) o fato de que, com o joelho reforçado, o risco de acontecer trinca resultante de aperto é menor. E) que fica exposta, eliminando o encaixe na alvenaria, diferentemente das comuns. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Python |
Qual função é usada para retornar o tamanho de uma string em Python? A) count_chars() B) str_len() C) size() D) length() E) len() Verificar Resposta Estudar Cards Todas as Questões |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
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 |