Planilha Web - Planilhas e Calculadoras online para estudantes e profissionais de Engenharia Civil, Engenharia Elétrica e Engenharia Mecânica.
E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser. Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book Apenas R$ 19,90
Java ::: Fundamentos da Linguagem ::: Estruturas de Controle

Java para iniciantes - Como criar laços for infinitos em Java

Quantidade de visualizações: 9565 vezes
Laços for infinitos em Java podem ser criado da seguinte forma:

for(;;){
  // bloco de instruções
}

Veja um exemplo:

import javax.swing.JOptionPane;

public class Estudos{
  public static void main(String[] args) {
    int valor;
    int soma = 0;

    // Lê continuamente até o usuário informar 0
    for(;;){
      // efetua a próxima leitura
      String str = JOptionPane.showInputDialog(null,
        "Informe um valor inteiro:\n(ou 0 para sair)",
         "Estudos", JOptionPane.QUESTION_MESSAGE);

      valor = Integer.parseInt(str);
  
      // testa se o laço pode ser finalizado
      if(valor == 0)
        break;
 
      soma += valor;
    }

    JOptionPane.showMessageDialog(null, "A soma é: " + soma,
       "Estudos", JOptionPane.INFORMATION_MESSAGE);
  }
}

Sempre que criar laços infinitos, tenha a certeza de fornecer um teste de parada dentro do corpo do laço. Do contrário seu programa só poderá ser interrompido matando-se o processo.


Java ::: Dicas & Truques ::: Trigonometria - Funções Trigonométricas

Como calcular o seno de um número ou ângulo em Java usando o método sin() da classe Math

Quantidade de visualizações: 3244 vezes
Em geral, quando falamos de seno, estamos falando do triângulo retângulo de Pitágoras (Teorema de Pitágoras). A verdade é que podemos usar a função seno disponível nas linguagens de programação para calcular o seno 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 seno. 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 seno é a razão entre o cateto oposto (oposto ao ângulo theta) e a hipotenusa, ou seja, o cateto oposto dividido pela hipotenusa. Veja a fórmula:

\[\text{Seno} = \frac{\text{Cateto oposto}}{\text{Hipotenusa}} \]

Então, se dividirmos 20 por 36.056 (na figura eu arredondei) nós teremos 0.5547, que é a razão entre o cateto oposto e a hipotenusa (em radianos).

Agora, experimente calcular o arco-cosseno de 0.5547. O resultado será 0.9828 (em radianos). Convertendo 0.9828 radianos para graus, nós obtemos 56.31º, que é exatamente o ângulo em graus entre o cateto oposto e a hipotenusa na figura acima.

Pronto! Agora que já sabemos o que é seno na trigonometria, vamos entender mais sobre a função sin() 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:

package arquivodecodigos;

public class Estudos{
  public static void main(String args[]){
    System.out.println("Seno de 0 = " + Math.sin(0));
    System.out.println("Seno de 1 = " + Math.sin(1));
    System.out.println("Seno de 2 = " + Math.sin(2));
  }
} 

Ao executar este código Java nós teremos o seguinte resultado:

Seno de 0 = 0.0
Seno de 1 = 0.8414709848078965
Seno de 2 = 0.9092974268256817

Note que calculamos os senos dos valores 0, 1 e 2. Observe como os resultados conferem com a curva da função seno mostrada abaixo:




C# ::: Dicas & Truques ::: Strings e Caracteres

Como retornar o índice da primeira ocorrência de um caractere em uma string C# usando o método IndexOf() da classe String

Quantidade de visualizações: 8831 vezes
Em alguma ocasião nós precisaremos verificar se um determinado caractere está contido em uma palavra, frase ou texto, e poderemos querer também retornar o índice da primeira ocorrência de tal caractere.

Para isso nós podemos usar a função IndexOf() da classe String. Este método recebe o caractere ou substring desejada e retorna um valor inteiro indicando o índice da primeira ocorrência. Se o caractere não for encontrado, o valor -1 é retornado.

Veja o código completo para o exemplo:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string frase = "Gosto de Java e C#";

      // vamos obter o índice da primeira ocorrência da letra "J"
      int pos = frase.IndexOf("J");

      // o caractere for encontrado?
      if (pos != -1) {
        Console.WriteLine("O caractere foi encontrado" +
          " na posição " + pos);
      }
      else {
        Console.WriteLine("O caractere não foi encontrado");
      }

      Console.WriteLine("\n\nPressione uma tecla para sair...");
      Console.ReadKey();
    }
  }
}

Ao executar este código C# nós teremos o seguinte resultado:

O caractere foi encontrado na posição 9

Tenha em mente que o método IndexOf() da classe String do C# diferencia letras maiúsculas de letras minúsculas.


Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes)

Java Vetores e Matrizes - Como inicializar os elementos de um vetor usando o laço for da linguagem Java

Quantidade de visualizações: 9975 vezes
Neste exemplo veremos como inicializar um vetor (array) de ints usando o laço for. Note que os elementos do array serão inicializados com os valores de 1 a 10.

Veja o código completo:

package arquivodecodigos;

public class Estudos{
  public static void main(String[] args){
    // vamos declarar e construir um vetor de 10 elementos
    int[] a = new int[10];
 
    // inicializa os elementos do vetor
    for(int i = 0; i < a.length; i++){
      a[i] = (i + 1);
    }
     
    // exibe os valores dos elementos do vetor
    for(int i = 0; i < a.length; i++){
      System.out.print(a[i] + ", ");
    }
 
    System.exit(0);
  }
}

Ao executar este código Java nós teremos o seguinte resultado:

1, 2, 3, 4, 5, 6, 7, 8, 9, 10,


Java ::: Dicas & Truques ::: Operadores de Manipulação de Bits (Bitwise Operators)

Como usar o operador de bits & (E/AND sobre bits) em Java - Java Avançado - Manipulação de bits em Java

Quantidade de visualizações: 6763 vezes
Esta dica de Java é muito útil para quem está se preparando para entrevistas de código ou desafios de programação. A manipulação de bits é fator importante para testar as habilidades de candidatos a vagas de programador, pois ela demonstra um conhecimento muito aprofundado de lógica de programação e também de rotinas de baixo nível.

O operador de bits & (E/AND sobre bits) da linguagem Java é usado quando queremos comparar os bits individuais de dois valores integrais (inteiros) e produzir um terceiro resultado. Os bits no resultado serão configurados como 1 se os bits correspondentes nos dois outros valores foram 1. Em caso contrário os bits são configurados como 0.

Vamos analisar os seguintes valores binários:

a) 0101 (5 decimal)
b) 0100 (4 decimal)

Quando aplicamos o operador & nestes dois valores teremos o seguinte resultado:

0101
0100
----
0100


Veja que o resultado é 0100, uma vez que apenas o segundo bit de cada valor está configurado como 1. Vamos ver isso em Java agora. Observe o seguinte trecho de código:

public class Main {
  public static void main(String[] args) {
    int a = 5;
    int b = 4;
    int c = a & b;
     
    // exibe o resultado (em inteiro e em bytes)
    System.out.println("a = " + obterBits(a) + " (" + a + ")");
    System.out.println("b = " + obterBits(b) + " (" + b + ")");
    System.out.println("a & b = " + obterBits(c) + " (" + c + ")");
  }
  
  // método auxiliar que converte um inteiro em sua representação em bits
  public static String obterBits(int valor){
    int mascara = 1 << 31;
    StringBuffer buffer = new StringBuffer(35);
    
    for(int i = 1; i <= 32; i++){
      if((valor & mascara) == 0){
    	buffer.append('0');
      }
      else{
    	buffer.append('1');
      }
      
      valor <<= 1;
      
      if(i % 8 == 0){
        buffer.append(' ');
      }
    }
    
    return buffer.toString();
  }
}


Ao executar este código teremos o seguinte resultado:

a = 00000000 00000000 00000000 00000101 (5)
b = 00000000 00000000 00000000 00000100 (4)
a & b = 00000000 00000000 00000000 00000100 (4)


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico

Exercício Resolvido de Java - Escreva um programa Java console que solicite ao usuário que informe dois valores inteiros. Em seguida seu programa deverá efetuar a soma dos dois valores e exibí-la

Quantidade de visualizações: 13539 vezes
Pergunta/Tarefa:

Escreva um programa Java console que solicite ao usuário que informe dois valores inteiros. Em seguida seu programa deverá efetuar a soma dos dois valores e exibí-la. O aplicativo deverá exibir a seguinte saída:

Informe o primeiro valor: 7
Informe o segundo valor: 3
A soma dos valores é: 10

Dica: Use a classe Scanner para efetuar a leitura dos valores informados pelo usuário:

Sugestão: Que tal modificar a solução para efetuar a leitura e exibir o resultado usando a classe JOptionPane?

Resposta/Solução:

Veja a resolução do exercício usando a classe Scanner:

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe Scanner
  // import java.util.Scanner;

  // vamos criar um objeto da classe Scanner
  Scanner entrada = new Scanner(System.in);

  int a, b; // variáveis que receberão os valores informados
  int soma; // variável que guardará a soma dos valores informados

  // vamos pedir ao usuário que informe o primeiro valor
  System.out.print("Informe o primeiro valor: ");
  // vamos ler o primeiro valor
  a = Integer.parseInt(entrada.nextLine());

  // vamos pedir ao usuário que informe o segundo valor
  System.out.print("Informe o segundo valor: ");
  // vamos ler o segundo valor
  b = Integer.parseInt(entrada.nextLine());

  // vamos efetuar a soma
  soma = a + b;

  // vamos exibir o resultado
  System.out.println("A soma dos valores é: " + soma);
}

Veja agora a resolução usando a classe JOptionPane:

public static void main(String[] args){
  // não se esqueça de adicionar um import para a classe JOptionPane
  // import javax.swing.JOptionPane;

  int a, b; // variáveis que receberão os valores informados
  int soma; // variável que guardará a soma dos valores informados

  // vamos pedir ao usuário que informe o primeiro valor
  a = Integer.parseInt(JOptionPane.showInputDialog("Informe o primeiro valor:"));

  // vamos pedir ao usuário que informe o segundo valor
  b = Integer.parseInt(JOptionPane.showInputDialog("Informe o segundo valor:"));

  // vamos efetuar a soma
  soma = a + b;

  // vamos exibir o resultado
  JOptionPane.showMessageDialog(null, "A soma dos valores é: " + soma);
}



Ruby ::: Dicas & Truques ::: Matemática e Estatística

Como gerar um número inteiro aleatório em Ruby usando a função rand() do módulo Kernel

Quantidade de visualizações: 7809 vezes
Nesta dica mostrarei como podemos usar o método rand() do módulo Kernel da linguagem Ruby para gerar um número randômico dentro de uma determinada faixa. No exemplo nós vamos gerar um número aleatório entre 0 e 6 (não incluído).

Veja o código completo para o exemplo:

# gera um número aleatório entre 0 e 5
numero = rand(6)
puts sprintf("O numero aleatório é: %d", \
  numero)

Ao executar este código Ruby nós teremos o seguinte resultado:

O numero aleatório é: 5


Java ::: Dicas & Truques ::: Data e Hora

Como construir uma data no passado ou futuro em Java usando a classe GregorianCalendar

Quantidade de visualizações: 8300 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:

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:

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


PHP ::: Dicas & Truques ::: Strings e Caracteres

Como remover os espaços em excesso de uma string e deixar apenas um espaço entre as palavras usando a função preg_replace() e expressões regulares do PHP

Quantidade de visualizações: 282 vezes
Nesta dica mostrarei como é possível tirar proveito da função preg_replace() da linguagem PHP para retirar os espaços em excesso de uma frase ou texto. Note o uso da função trim() para remover também os espaços antes e depois da frase ou texto.

Veja o código completo para o exemplo:

<?php
  // uma frase com excesso de espaços 
  // vamos deixar apenas um espaço entre as palavras
  $frase = "   Gosto muito de   programar em    PHP  ";
  $frase2 = trim(preg_replace('/\s\s+/',' ', $frase));
  echo "Com espaços: " . $frase . "<br>";
  echo "Sem espaços: " . $frase2; 
?>

Ao executar este código PHP nós teremos o seguinte resultado:

Com espaços:  Gosto muito de   programar em  PHP
Sem espaços: Gosto muito de programar em PHP


Pode ser necessário você olhar no código fonte da página HTML para visualizar melhor o resultado.


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Hidrologia e Hidráulica

Exercícios Resolvidos de Java - Como aplicar a Fórmula da Vazão pelo Método Racional em Java - De acordo com o método racional, a vazão máxima a ser considerada

Quantidade de visualizações: 395 vezes
Pergunta/Tarefa:

Neste exercício de Java nós veremos como aplicar a Fórmula da Vazão pelo Método Racional para resolver uma questão de Hidrologia que caiu no concurso para Analista na Área de Engenharia Sanitária do MPE-MS em 2013.

1) De acordo com o método racional, a vazão máxima a ser considerada no projeto de um bueiro para uma chuva de intensidade igual a 2 mm/h, com duração igual ou superior ao tempo de concentração da bacia de contribuição que possui área igual a 18 km2 e coeficiente de escoamento superficial igual a 0,7 será, em m3/s, igual a

A) 5,4.

B) 7,0.

C) 11,5.

D) 14,0.

E) 25,2.

Sua saída deve ser parecida com:

Intensidade da chuva em mm/h: 2
Área da bacia em quilômetros quadrados: 18
Coeficiente de escoamento: 0.7
A vazão máxima é: 7.0
Resposta/Solução:

O primeiro passo para resolver esta questão é relembrando a fórmula da Vazão pelo Método Racional. Apresentado pela primeira vez em 1851 por Mulvaney e usado por Emil Kuichling em 1889, o Método Racional é um método indireto e estabelece uma relação entre a chuva e o escoamento superficial (deflúvio).

Usamos esta fórmula para calcular a vazão de pico de uma determinada bacia, considerando uma seção de estudo.

Eis a fórmula:

\[Q = \frac{C \cdot I \cdot A}{360} \]

Onde:

Q = vazão de pico (m3/s);

C = coeficiente de escoamento superficial que varia de 0 a 1.

I = intensidade média da chuva (mm/h);

A = área da bacia (ha), onde 1 ha = 10.000m2

Na questão do concurso nós já temos a intensidade da chuva em milímetros por hora, mas a área da bacia está em quilômetros quadrados, o que exigirá uma conversão para hectares. No código Java eu mostro essa parte comentada.

Então, hora de vermos a resolução comentada deste exercício usando Java:

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);
    
    // vamos ler a precipitação ou intensidade da chuva em mm/h
    System.out.print("Intensidade da chuva em mm/h: ");
    double intensidade = Double.parseDouble(entrada.nextLine());
    
    // vamos ler a área da bacia em quilômetros quadrados
    System.out.print("Área da bacia em quilômetros quadrados: ");
    double area_bacia = Double.parseDouble(entrada.nextLine());
    
    // vamos ler o coeficiente de escoamento
    System.out.print("Coeficiente de escoamento: ");
    double coeficiente = Double.parseDouble(entrada.nextLine());
    
    // agora vamos transformar quilômetros quadrados em
    // hectares
    area_bacia = area_bacia * 100;
    
    // e vamos calcular a vazão de pico em metros cúbicos
    double vazao = ((coeficiente * intensidade * area_bacia) / 360.0);
    
    // e mostramos o resultado
    System.out.println("A vazão máxima é: " + vazao);
  }
}


Carregar Publicações Anteriores


Nossas 20 dicas & truques de programação mais populares

Você também poderá gostar das dicas e truques de programação abaixo

Nossas 20 dicas & truques de programação mais recentes

Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site

Últimos Exercícios Resolvidos

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 37 usuários muito felizes estudando em nosso site.