Você está aqui: Java ::: Desafios e Lista de Exercícios Resolvidos ::: Métodos, Procedimentos e Funções |
Escreva um método Java que aceita um int como argumento e retorna a diferença entre o número fornecido e o número 13. Se o número for - Exercícios Resolvidos de JavaQuantidade de visualizações: 624 vezes |
Pergunta/Tarefa: Escreva um método Java que aceita um int como argumento e retorna a diferença entre o número fornecido e o número 13. Se o número for maior que 13, retorne o dobro da diferença absoluta. Sua saída deverá ser parecida com: Informe um número inteiro: 7 O resultado é: 6 Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar um inteiro System.out.print("Informe um número inteiro: "); int num = Integer.parseInt(entrada.nextLine()); // vamos chamar a função diferenca() e obter seu resultado int dif = diferenca(num); // mostramos o resultado System.out.println("O resultado é: " + dif); } public static int diferenca(int numero){ // o número é menor ou igual a 13? if(numero <= 13){ return 13 - numero; } else{ // o número é maior que 13 return (numero - 13) * 2; // retorna o dobro da diferença absoluta } } } |
![]() |
Java ::: Dicas & Truques ::: Data e Hora |
Como construir uma data no passado ou futuro em Java usando a classe GregorianCalendarQuantidade de visualizações: 8241 vezes |
Esta dica mostra como construir uma data no passado ou futuro na linguagem Java usando a classe GregorianCalendar, que é uma classe derivada e concreta da classe Calendar. Veja a linha na qual informamos a data a ser criada: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- Calendar data = new GregorianCalendar(2008, 11, 13); Aqui nós estamos usando o construtor da classe GregorianCalendar que requer três valores inteiros. O ano, o mês e o dia. O mês é informado como um valor inteiro na faixa de 0 a 11, ou seja, 0 para janeiro, 1 para fevereiro e assim por diante. Veja o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import java.util.*; import java.text.*; public class Estudos{ public static void main(String args[]){ // vamos construir a data "13/12/2008" Calendar data = new GregorianCalendar(2008, 11, 13); // vamos exibir o resultado Format formato = new SimpleDateFormat( "EEEE, dd 'de' MMMM 'de' yyyy"); System.out.println(formato.format(data.getTime())); } } Ao executar este código Java nós teremos o seguinte resultado: Sábado, 13 de Dezembro de 2008 |
Java ::: Classes e Componentes ::: JTable |
Java Swing - Como detectar qual linha ou coluna está selecionada em uma tabela JTableQuantidade de visualizações: 3 vezes |
Nesta dica mostrarei como podemos usar o método valueChanged() da interface ListSelectionListener para detectar qual linha ou coluna está selecionada em um objeto JTable. Essa técnica interessante, pois permite facilmente a construção de tabelas mestre-detalhe, na qual selecionamos um cliente em uma JTable e outra JTable é atualizada mostrando somente os pedidos para o cliente selecionado. Eis o resultado na imagem abaixo: ![]() Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import javax.swing.*; import java.awt.*; import javax.swing.event.*; public class Estudos extends JFrame{ private boolean ALLOW_COLUMN_SELECTION = false; private boolean ALLOW_ROW_SELECTION = true; 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)); // permite selecionar apenas uma linha de cada vez tabela.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); // detecta seleções de linha if(ALLOW_ROW_SELECTION){ // verdadeiro por padrão ListSelectionModel rowSM = tabela.getSelectionModel(); rowSM.addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent e){ if(e.getValueIsAdjusting()) return; ListSelectionModel lsm = (ListSelectionModel)e.getSource(); if(lsm.isSelectionEmpty()){ System.out.println("Nenhuma linha selecionada."); } else{ int selectedRow = lsm.getMinSelectionIndex(); System.out.println("Linha " + selectedRow + " foi selecionada."); } } }); } else{ tabela.setRowSelectionAllowed(false); } if(ALLOW_COLUMN_SELECTION){ // falso por padrão if(ALLOW_ROW_SELECTION){ tabela.setCellSelectionEnabled(true); } tabela.setColumnSelectionAllowed(true); ListSelectionModel colSM = tabela.getColumnModel().getSelectionModel(); colSM.addListSelectionListener(new ListSelectionListener(){ public void valueChanged(ListSelectionEvent e){ if(e.getValueIsAdjusting()) return; ListSelectionModel lsm = (ListSelectionModel)e.getSource(); if(lsm.isSelectionEmpty()) { System.out.println("Nenhuma coluna selecionada."); } else{ int selectedCol = lsm.getMinSelectionIndex(); System.out.println("Coluna " + selectedCol + " está selecionada."); } } }); } Container c = getContentPane(); c.setLayout(new FlowLayout()); JScrollPane scrollPane = new JScrollPane(tabela); c.add(scrollPane); setSize(400, 300); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como testar se um valor está contido em um array em JavaQuantidade de visualizações: 11196 vezes |
Pergunta/Tarefa: Escreva um programa Java GUI ou console que declara, constrói e inicializa um vetor (array unidimensional) de 5 inteiros. Em seguida peça ao usuário para informar um valor inteiro e informe se o valor lido está contido no vetor. A declaração, construção e inicialização do vetor pode ser feita da seguinte forma: // declara, constrói e inicializa um vetor de 5 inteiros int valores[] = {4, 21, 8, 120, 1}; Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import javax.swing.JOptionPane; public class Estudos { public static void main(String[] args) { // declara, constrói e inicializa um vetor de 5 inteiros int valores[] = {4, 21, 8, 120, 1}; // vamos ler um valor inteiro int pesquisa = Integer.parseInt(JOptionPane.showInputDialog("Valor:")); // vamos verificar se o valor informado está contido no vetor boolean encontrado = false; for(int i = 0; i < valores.length; i++){ if(valores[i] == pesquisa){ encontrado = true; break; } } if(encontrado){ JOptionPane.showMessageDialog(null, "O valor está no vetor"); } else{ JOptionPane.showMessageDialog(null, "O valor não está no vetor"); } } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Como calcular o Índice de Massa Corporal em Java - Como calcular IMC em JavaQuantidade de visualizações: 12323 vezes |
Pergunta/Tarefa: O índice de massa corporal (IMC) é uma medida internacional usada para calcular se uma pessoa está no peso ideal. Ele foi desenvolvido pelo polímata Lambert Quételet no fim do século XIX. Trata-se de um método fácil e rápido para a avaliação do nível de gordura de cada pessoa, ou seja, é um preditor internacional de obesidade adotado pela Organização Mundial da Saúde (OMS). O IMC é determinado pela divisão da massa do indivíduo pelo quadrado de sua altura, em que a massa está em quilogramas e a altura em metros. A fórmula é a seguinte: ![]() A classificação é feita de acordo com as seguintes regras: a) < 16 - Magreza grave b) 16 a < 17 - Magreza moderada c) 17 a < 18,5 - Magreza leve d) 18,5 a < 25 - Saudável e) 25 a < 30 - Sobrepeso f) 30 a < 35 - Obesidade Grau I g) 35 a < 40 - Obesidade Grau II (severa) h) >= 40 - Obesidade Grau III (mórbida) Escreva um programa Java que leia o peso e a altura de uma pessoa e retorna seu IMC classificado de acordo com a tabela acima. Sua saída deverá ser parecida com: Informe seu peso: 82 Informe sua altura: 1.85 Seu IMC é: 23.959094229364496 Sua classificação é Saudável Veja a resolução comentada deste exercício usando Java: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { Scanner entrada = new Scanner(System.in); // vamos solicitar o peso e a altura da pessoa System.out.print("Informe seu peso: "); double peso = Double.parseDouble(entrada.nextLine()); System.out.print("Informe sua altura: "); double altura = Double.parseDouble(entrada.nextLine()); // vamos calcular o IMC double imc = peso / (altura * altura); System.out.println("Seu IMC é: " + imc); // vamos mostrar a classificação if(imc < 16){ System.out.println("Sua classificação é Magreza grave"); } else if((imc >= 16) && (imc < 17)){ System.out.println("Sua classificação é Magreza moderada"); } else if((imc >= 17) && (imc < 18.5)){ System.out.println("Sua classificação é Magreza leve"); } else if((imc >= 18.5) && (imc < 25)){ System.out.println("Sua classificação é Saudável"); } else if((imc >= 25) && (imc < 30)){ System.out.println("Sua classificação é Sobrepeso"); } else if((imc >= 30) && (imc < 35)){ System.out.println("Sua classificação é Obesidade Grau I"); } else if((imc >= 35) && (imc < 40)){ System.out.println("Sua classificação é Obesidade Grau II"); } else{ System.out.println("Sua classificação é Obesidade Grau III (mórbida)"); } System.out.println("\n"); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escrever um algoritmo que recebe o salário-base de um funcionário, calcule e mostre o salário a receberQuantidade de visualizações: 9085 vezes |
Pergunta/Tarefa: Faça um programa (algoritmo) Java que recebe o salário-base de um funcionário, calcule e mostre o salário a receber, sabendo-se que esse funcionário tem gratificação de 5% sobre o salário-base e paga imposto de 7% sobre o salário-base. Sua saída deverá ser parecida com: Informe o salário base: 1450.00 Gratificação: R$ 72,50 Imposto: R$ 101,50 Salário final: R$ 1.421,00 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.text.NumberFormat; 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 salario base System.out.print("Informe o salário base: "); double salario_base = Double.parseDouble(entrada.nextLine()); // vamos calcular a gratificação double gratificacao = salario_base * (5.0 / 100); // vamos calcular o imposto double imposto = salario_base * (7.0 / 100); // e finalmente calculamos o salário final double salario_final = salario_base + gratificacao - imposto; // e exibimos o resultado NumberFormat formato = NumberFormat.getCurrencyInstance(); System.out.println("Gratificação: " + formato.format(gratificacao)); System.out.println("Imposto: " + formato.format(imposto)); System.out.println("Salário final: " + formato.format(salario_final)); } } |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como salvar o conteúdo de um JTextArea em um arquivo (usando um JFileChooser para localizar o diretório e arquivo)Quantidade de visualizações: 15716 vezes |
Nesta dica mostrarei como é possível como salvar o conteúdo de um JTextArea em um arquivo texto. Essa operação é muito frequente em aplicações Java Swing. Note que faremos uso de um JFileChooser para localizar o arquivo no qual o conteúdo será gravado, ou poderemos informar o nome do arquivo. Observe também o uso do método write() da classe FileWriter para escrever o conteúdo no arquivo. Para finalizar, perceba que não fiz os devidos tratamentos de erros e as mensagens de sucesso das operações e coisas. Fica como exercício para você finalizar. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package arquivodecodigos; import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.io.*; public class Estudos extends JFrame{ JTextArea textArea; JButton btn; public Estudos() { super("Salvando o conteúdo de um JTextArea em um arquivo"); Container c = getContentPane(); FlowLayout layout = new FlowLayout(FlowLayout.LEFT); c.setLayout(layout); textArea = new JTextArea(10, 20); textArea.setLineWrap(true); btn = new JButton("Salvar Arquivo"); btn.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent e){ JFileChooser fc = new JFileChooser(); if(fc.showSaveDialog(Estudos.this) != JFileChooser.APPROVE_OPTION){ return; } File arquivo = fc.getSelectedFile(); if(arquivo == null){ return; } FileWriter writer = null; try { writer = new FileWriter(arquivo); writer.write(textArea.getText()); } catch(IOException ex){ // Possiveis erros aqui } finally { if(writer != null){ try{ writer.close(); } catch (IOException x){ // trate os erros aqui } } } } } ); c.add(textArea); c.add(btn); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Java ::: Fundamentos da Linguagem ::: Modificadores |
Regras importantes sobre o uso de modificadores na linguagem JavaQuantidade de visualizações: 7586 vezes |
1) Uma declaração de método ou variável pode conter somente um destes modificadores de acesso: public, protected ou private. Na ausência de um destes, o acesso será de pacote. 2) Classes não podem ser declaradas abstract e final simultâneamente. 3) Métodos abstratos não podem ser declarados private, static, final, native, strictfp ou synchronized. 4) Métodos não podem ser declarados native e strictfp ao mesmo tempo. 5) Métodos abstract e native não possuem corpo. Ex: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- abstract void inserir(); native void obterDados(); 6) Uma classe que contenha métodos abstratos deve ser declarada como abstrata. 7) Membros final não podem ser volatile. |
Java ::: Dicas & Truques ::: Data e Hora |
Como retornar o dia do mês em Java usando Calendar.DAY_OF_MONTHQuantidade de visualizações: 98 vezes |
Nesta dica mostrarei como podemos usar a constante Calendar.DAY_OF_MONTH para retornar o dia do mês para uma determinada data. Para isso nós só precisamos fornecer esta constante para o método get() de uma instância da classe Calendar. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- package estudos; import java.util.Calendar; public class Estudos { public static void main(String args[]) { // vamos obter uma instância da classe Calendar Calendar agora = Calendar.getInstance(); // agora vamos obter o dia do mês como um inteiro int dia_mes = agora.get(Calendar.DAY_OF_MONTH); // e mostramos o resultado System.out.println("O dia do mês é: " + dia_mes); } } Ao executar este código Java nós teremos o seguinte resultado: O dia do mês é: 26 |
Vamos testar seus conhecimentos em JavaScript |
Qual é a forma correta de se escrever uma laço WHILE em JavaScript? A) while (a < 10) {} B) while a = 1 to 10 C) while (a < 10): D) while (a < 10; a++) {} Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em JavaScript |
Qual o resultado da execução do seguinte código JavaScript?document.write(false == '0'); A) 0 B) false C) 1 D) true E) Erro de execução Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações diretas: tipos, características, métodos construtivos e cálculo das tensões no solo Um engenheiro verificou um problema de projeto na planta em uma edificação de grande porte: os pilares estavam muito próximos entre si. Desta forma, ele precisaria indicar ao mestre de obra um tipo de fundação mais apropriado, para não acarretar um problema estrutural devido à aproximidade dos pilares. A partir desta informação, assinale a alternativa correta: A) Radier. B) Sapata associada. C) Bloco. D) Sapata de divisa. E) Sapata corrida. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Vigas a flexão simples: seções retangulares As ações permanentes atuam na estrutura durante toda a sua vida útil, podendo apresentar poucas variações. Em vigas de concreto armado, essas ações normalmente são os carregamentos de paredes, das lajes apoiadas sobre elas e do seu próprio peso. Imagine uma viga de concreto V (15x40) que sustenta uma parede com 18cm de espessura e suporta duas lajes. O pé-direito da edificação é de 3,00m e tanto a viga que sustenta a parede quanto a no topo desta têm altura de 40cm. Considere que as reações de apoio das lajes nessa viga são de 3,55kN/m e 5,40kN/m. Nesse cenário, qual é o carregamento dessa viga? A) 10,45kN/m. B) 11,84kN/m. C) 13,89kN/m. D) 15,39kN/m. E) 16,15kN/m. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Fundações |
Fundações rasas Uma fundação do tipo radier é, convencionalmente, uma laje de concreto usada quando, EXCETO: A) O solo é mole, com baixa capacidade de carga. B) É necessário combater a sobrepressão hidrostática. C) Há ocorrência de bolsões de solos moles variáveis sob a projeção da estrutura. D) A sapata corrida cobre 40% acima da área de fundação por causa de cargas elevadas de pilares. 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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |