Você está aqui: Java ::: Dicas & Truques ::: Matemática e Estatística |
Calculando o arco tangente de um númeroQuantidade de visualizações: 12840 vezes |
/* O arco tangente de um número pode ser obtido com a função public static double atan(double a) Esta função recebe um valor double e retorna um valor na faixa -PI/2 <= x <= PI/2 */ public class Estudos{ public static void main(String[] args){ double numero = 0.5; System.out.println("O arco tangente de " + numero + " é " + Math.atan(numero)); } } |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercícios Resolvidos de Java - Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritméticaQuantidade de visualizações: 365 vezes |
Pergunta/Tarefa: Escreva um programa Java para ler as notas n1 e n2 de um aluno e calcule a sua média aritmética. Se a média for igual ou superior a 7,0 mostre uma mensagem indicando que o aluno foi aprovado. Se a média for igual ou maior que 3,5 e inferior a 7,0 seu programa deverá indicar que o aluno ficou de exame. Uma média menor que 3,5 indica reprovação direta. No caso do exame, leia uma nota entre 0 e 10. Agora a média do aluno deverá ser a média entre a média anterior e a nota do exame. Se a nova média for igual ou superior a 5,0 o aluno estará aprovado. Caso contrário o aluno será reprovado. Use validação para evitar que o usuário informe notas inválidas, ou seja, notas menores que 0 ou maiores que 10. Caso notas inválidas sejam fornecidas seu programa deverá solicitar a nota novamente até que o usuário forneça notas válidas. Sua saída deverá ser parecida com: Informe a nota N1: 9.4 Informe a nota N2: 11 Nota inválida. Informe a nota N2: 8.3 A média do aluno é: 8.85 O aluno foi aprovado Informe a nota N1: 4.2 Informe a nota N2: 1.8 A média do aluno é: 3.0 O aluno reprovou direto. Informe a nota N1: 5.7 Informe a nota N2: 6 A média do aluno é: 5.85 Informe a nota do exame: 7 A média do aluno com o exame é: 6.425 O aluno foi aprovado após o exame. Veja a resolução comentada deste exercício usando 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) { // variáveis usadas na resolução do problema double n1, n2, media, exame; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler a primeira nota System.out.print("Informe a nota N1: "); n1 = Double.parseDouble(entrada.nextLine()); // a nota é válida? while ((n1 < 0) || (n1 > 10)) { System.out.print("Nota inválida. Informe a nota N1: "); n1 = Double.parseDouble(entrada.nextLine()); } // vamos ler a segunda nota System.out.print("Informe a nota N2: "); n2 = Double.parseDouble(entrada.nextLine()); // a nota é válida? while ((n2 < 0) || (n2 > 10)) { System.out.print("Nota inválida. Informe a nota N2: "); n2 = Double.parseDouble(entrada.nextLine()); } // vamos calcular a média do aluno media = (n1 + n2) / 2.0; System.out.println("A média do aluno é: " + media); // o aluno foi aprovado? if (media >= 7.0) { System.out.println("O aluno foi aprovado"); } // o aluno ficou de exame? else if ((media >= 3.5) && (media < 7.0)){ // vamos ler a nota do exame System.out.print("Informe a nota do exame: "); exame = Double.parseDouble(entrada.nextLine()); // a nota é válida? while ((exame < 0) || (exame > 10)) { System.out.print("Nota inválida. Informe a nota do exame: "); exame = Double.parseDouble(entrada.nextLine()); } // calcula a nota média media = (media + exame) / 2.0; System.out.println("A média do aluno com o exame é: " + media); // o aluno foi aprovado após o exame? if (media >= 5.0) { System.out.println("O aluno foi aprovado após o exame."); } else { System.out.println("O aluno foi reprovado após o exame."); } } // reprovou direto else { System.out.println("O aluno reprovou direto."); } } } |
Java ::: Classes e Componentes ::: JTextArea |
Java Swing - Como evitar a barra de rolagem horizontal em um JScrollPaneQuantidade de visualizações: 10540 vezes |
Em algumas situações nós precisamos usar um JScrollPane para permitir as barras de rolagem em algum componente visual do Java Swing. Nesta dica eu mostro como isso pode ser feito, e mostro também como a barra de rolagem horizontal pode ser evitada. Este comportamento é o esperado quando estamos trabalhando com caixas de texto do tipo JTextArea. Veja um trecho de código no qual usamos a constante HORIZONTAL_SCROLLBAR_NEVER de ScrollPaneConstants para indicar que a barra horizontal não deverá ser exibida: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- textArea = new JTextArea(10, 20); JScrollPane scrollPane = new JScrollPane(textArea); // Evitar o aparecimento da barra de rolagem horizontal scrollPane.setHorizontalScrollBarPolicy( ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); |
Java ::: Dicas & Truques ::: Threads |
Threads em Java - O que são threads e como usá-las em seus programas JavaQuantidade de visualizações: 13496 vezes |
Uma thread é um fluxo de execução de uma determinada tarefa em um programa. Na programação tradicional, temos apenas um fluxo de execução que começa a executar no início do programa e vai até o final. Com o uso de threads podemos ter várias tarefas sendo executadas ao mesmo tempo, cada uma independente da outra. Em programas que contêm interfaces gráficas, o uso de múltiplos fluxos de execução (ou threads) é muito comum. Enquanto digitamos em uma caixa de texto, uma animação pode estar sendo executada ou um arquivo sendo baixado. O Java permite que tenhamos várias threads sendo executadas ao mesmo tempo. Cada tarefa (ou thread) é uma instância da interface Runnable. Esta interface descreve apenas um método: public void run(); ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // criamos uma classe que servirá como thread class MinhaThread extends Thread{ private String nome; public MinhaThread(String nome){ this.nome = nome; } public void run(){ for(int i = 1; i <= 20; i++){ System.out.println(nome + ": " + i); } } } public class Estudos{ public static void main(String[] args){ // vamos criar duas threads MinhaThread t1 = new MinhaThread("Thread 1"); t1.start(); // chamamos o método start() e não run() MinhaThread t2 = new MinhaThread("Thread 2"); t2.start(); // chamamos o método start() e não run() System.exit(0); } } Salve este código como Estudos.java, compile e execute. Veja que cada thread escreverá de 1 a 20 na tela. Observe como as duas threads se alternam em suas tarefas, ou seja, de tempos em tempos uma cede lugar para que a outra seja executada. Note também que, embora nossa classe tenha um método run() nós não o chamamos. O que fazemos é chamar o método start(), que torna a thread elegível para ser executada a qualquer momento. Uma outra forma de criarmos uma thread é fazer com que nossa classe implemente a interface Runnable. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // criamos uma classe que servirá como thread class MinhaThread implements Runnable{ private String nome; public MinhaThread(String nome){ this.nome = nome; } public void run(){ for(int i = 1; i <= 20; i++){ System.out.println(nome + ": " + i); } } } public class Estudos{ public static void main(String[] args){ // vamos criar duas threads MinhaThread mt1 = new MinhaThread("Thread 1"); Thread t1 = new Thread(mt1); t1.start(); MinhaThread mt2 = new MinhaThread("Thread 2"); Thread t2 = new Thread(mt2); t2.start(); System.exit(0); } } O funcionamento do código é o mesmo. A diferença é que agora, a classe usada como thread implementa a interface Runnable. A forma de criação da thread também foi alterada. Agora nós criamos instâncias de Thread fornecendo nossa classe thread como argumento e chamamos o método start da classe Thread e não de nossa própria classe, como fizemos anteriormente. |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() 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 |
![]() 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 |