Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Java ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas

Como calcular o ponto de interseção de duas retas em Java - Java para Geometria Analítica e Álgebra Linear

Quantidade de visualizações: 1100 vezes
Duas retas podem encontrar-se em 0, 1 ou 2 pontos. No primeiro caso, elas são chamadas paralelas; no segundo, elas são chamadas concorrentes e o ponto de encontro entre elas é chamado ponto de interseção; no terceiro caso, se duas retas possuem dois pontos em comum, então elas obrigatoriamente apresentam todos os pontos em comum e são chamadas coincidentes.

Nesta dica mostrarei como podemos encontrar o ponto de interseção (ou intersecção) de duas retas usando Java. Mas, antes de vermos o código, dê uma olhada na seguinte imagem:



Note que temos os pontos A e B correspondentes ao segmento de reta AB e os pontos C e D correspondentes ao segmento de reta CD. Nossa tarefa é encontrar o ponto exato de intersecção entre esses dois segmentos de reta.

Veja o código Java completo que nos auxilia na resolução deste problema:

----------------------------------------------------------------------
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;

// Classe usada para representar um ponto no
// plano 2d (Plano Cartesiano)
class Ponto{
  double x, y;
  
  // construtor da classe
  public Ponto(double x, double y){
    this.x = x;
    this.y = y;
  }
}

public class Estudos {
  public static void main(String[] args) {
    // vamos construir os quatro pontos
    Ponto A = new Ponto(5, 7);
    Ponto B = new Ponto(9, -4);
    Ponto C = new Ponto(-8, 2);
    Ponto D = new Ponto(11, 6);
    
    // vamos obter a representação do segmento AB    
    double a1 = B.y - A.y;
    double b1 = A.x - B.x;
    double c1 = (a1 * A.x) + (b1 * A.y);
       
    // vamos obter a representação do segmento CD
    double a2 = D.y - C.y;
    double b2 = C.x - D.x;
    double c2 = (a2 * C.x) + (b2 * C.y);
    
    // obtém o determinante
    double determinante = (a1 * b2) - (a2 * b1);
    
    // as duas retas são paralelas?
    if(determinante == 0){
      System.out.println("\nAs duas retas são paralelas.\n");
    }
    else{
      // e construímos o ponto de intersecção
      double x = ((b2 * c1) - (b1 * c2)) / determinante;
      double y = ((a1 * c2) - (a2 * c1)) / determinante;
      Ponto inters = new Ponto(x, y);
    
      System.out.printf("O ponto de interseção é: x = %.2f; y = %.2f",
        inters.x, inters.y);
    }
    
    System.out.println();
  }
} 

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

O ponto de interseção é: x = 5,76; y = 4,90

De fato, se você olhar a imagem novamente e desenhar este ponto, verá que ele se situa exatamente na intersecção das retas indicadas.

Link para compartilhar na Internet ou com seus amigos:

Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição

Exercícios Resolvidos de Java - Como converter de binário para decimal em Java usando o laço for

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

Escreva um programa Java que usa o laço for para converter um número binário (como uma String) em sua representação decimal (como um int). Peça ao usuário para informar um número binário e mostre o mesmo em decimal (como um int). Sua solução deve obrigatoriamente usar o laço for.

Sua saída deverá ser parecida com:

Informe um número binário: 1100
A representação decimal do valor binário 1100 é 12
Resposta/Solução:

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) {
    // vamos fazer a leitura usando a classe Scanner
    Scanner entrada = new Scanner(System.in);
       
    // vamos ler o número binário (como uma String)
    System.out.print("Informe um número binário: ");
    String bin = entrada.nextLine();
    int decimal = 0; // guarda a representação decimal
     
    // vamos percorrer todos os dígitos do número binário começando do início
    for(int i = 0, exp = bin.length() - 1; i < bin.length(); i++, exp--){
      // converte o caractere atual para inteiro
      int temp = Character.digit(bin.charAt(i), 10);  
      decimal = decimal + (temp * (int)Math.pow(2, exp));
    }
     
    System.out.println("A representação decimal do valor binário " 
      + bin + " é " + decimal);
  }
}



Java ::: Fundamentos da Linguagem ::: Tipos de Dados

Apostila Java - Como usar o tipo de dados double da linguagem Java

Quantidade de visualizações: 21970 vezes
O tipo de dados double é usado quando precisamos armazenar números de ponto-flutuante (com parte fracionária) na faixa 4.94065645841246544e-324 até 1.79769313486231570e+308. Este tipo ocupa 64 bits na memória (o mesmo que um long) e possui precisão de 14 ou 15 dígitos significativos. Veja um exemplo de seu uso:

----------------------------------------------------------------------
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 
----------------------------------------------------------------------

public class Estudos{
  public static void main(String args[]){
    double valor = 54.5;
    
    System.out.println("O valor da variável é: " +
      valor);
    
    System.exit(0);
  }
}

É importante observar que a maioria dos métodos numéricos das classes Java (principalmente Math) possuem parâmetros do tipo double. Isso é feito de modo que possamos fornecer argumentos do tipo byte, short, int, long, float, etc. Como todos os tipos primitivos (exceto boolean) podem ser convertidos para double sem a necessidade de cast, esta é sem dúvida uma escolha bem acertada dos arquitetos da linguagem.

Observe ainda que o tipo double não pode ser convertido implicitamente para nenhum outro tipo de dados primitivo. Se precisarmos convertê-lo para os tipos char, byte, short, int, long ou float, teremos que lançar mão de uma coerção (cast). Veja:

----------------------------------------------------------------------
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 
----------------------------------------------------------------------

double valor = 54.5;
int valor2 = (int)(valor);

É preciso ficar atento ao fato de que uma coerção de um tipo de ponto-flutuante para um tipo integral (inteiro) resulta na perda da parte fracionária do valor que está sofrendo o cast.

Não é recomendável usar o tipo double (ou float) para aplicações financeiras nas quais a precisão dos valores numéricos é de muita importância. Para estes casos recomenda-se usar a classe BigDecimal.


Java ::: Dicas & Truques ::: Strings e Caracteres

Java para iniciantes - Como usar o método trim() da classe String para remover espaços antes e depois de uma palavra, frase ou texto

Quantidade de visualizações: 139 vezes
Em várias ocasiões precisamos tratar textos lidos de arquivos ou informados pelo usuário. Como parte desse tratamento precisamos remover os espaços antes e depois da palavra, frase ou texto informado ou lido.

Para isso podemos usar o método trim() da classe String. Este método recebe como argumento uma string e retorna outra string com os espaços já removidos.

Veja um exemplo completo de seu uso:

----------------------------------------------------------------------
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 
----------------------------------------------------------------------

// Este exemplo mostra como remover espaços do início
// e fim de uma string
 
public class Estudos{
  public static void main(String[] args){
    String frase = " Programar em Java é bom demais. ";
     
    frase = frase.trim();
     
    System.out.println(frase);
     
    System.exit(0);
  }
}

Este exemplo foi revisado e testado no Java 8.


Java ::: Dicas & Truques ::: Sistema

Como efetuar captura de tela (screenshot) em seus programas Java usando o método createScreenCapture() da classe Robot

Quantidade de visualizações: 14975 vezes
Nesta dica eu vou mostrar como é possível usar o método createScreenCapture() da classe Robot, do pacote java.awt, para tirar um print screen, ou seja, capturar uma determinada região da tela do seu computador. Note que, ao tirar o print da região que queremos, nós salvamos a imagem em um determinado diretório.

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 java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;

public class Estudos{
  public static void main(String[] args){
    try{
      Robot robot = new Robot();
      // Captura a tela na àrea definida pelo retângulo
      BufferedImage bi = robot.createScreenCapture(new
        Rectangle(0, 0, 300, 250));
      // Salva a imagem
      ImageIO.write(bi, "jpg", new 
        File("C:\\estudos_java\\captura_tela.jpg"));
    }
    catch(AWTException e){
      e.printStackTrace();
    }
    catch(IOException e){
      e.printStackTrace();
    }
  }
}

Execute este código e verá uma imagem JPG ser gravada no endereço "C:\\estudos_java\\captura_tela.jpg".


Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de Java - Como retornar o maior elemento em cada uma das colunas de uma matriz usando Java

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

Dada a seguinte matriz:

6   10   4
2    9   7
20   3   1
Escreva um programa Java que exibe o maior elemento em cada uma das colunas dessa matriz.

Sua saída deverá ser parecida com:

Maior elemento na coluna 0 é 20
Maior elemento na coluna 1 é 10
Maior elemento na coluna 2 é 7
Resposta/Solução:

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;

public class Estudos {
  public static void main(String[] args) {
    // vamos declarar e constuir uma matriz de 3 linhas e três colunas
    int matriz[][] = {{6, 10, 4}, {2, 9, 7}, {20, 3, 1}};
    
    // vamos percorrer a matriz e exibir o maior elemento de cada coluna
    // começamos com cada coluna
    for(int i = 0; i < matriz[0].length; i++){
      // assumimos que o maior valor é o primeiro dessa coluna
      int maior = matriz[0][i];
      // percorremos todos os elementos desta linha
      for(int j = 0; j < matriz.length; j++){
        // o elemento atual é maior que o maior?
        if(matriz[j][i] > maior){
          // maior assume o valor atual
          maior = matriz[j][i];
        }
      }
      
      // exibimos o maior elemento desta coluna
      System.out.println("Maior elemento na coluna " + i + " é " + maior);
    }
  }
}



Java ::: Dicas & Truques ::: Strings e Caracteres

Como usar o método replace() da classe String do Java para substituir palavras em uma frase ou texto - Revisado

Quantidade de visualizações: 263 vezes
Nesta dica mostrarei como substituir substrings em uma string, ou seja, substituir uma palavra (ou parte de uma palavra) em uma frase ou texto. Para isso podemos usar o método replace() da classe String da linguagem Java.

Note que o método replace() da classe String retorna uma nova string com todas as ocorrências substituídas. 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;

public class Estudos{
  public static void main(String[] args){
    String frase = "Programar em Java é bom.";
    System.out.println(frase); 
    
    // substitui todas as ocorrências de "Java" por "C#"
    String frase2 = frase.replace("Java", "C#");
     
    System.out.println(frase2);
     
    System.exit(0);
  }
}

Ao executar este exemplo nós teremos o seguinte resultado:

Programar em Java é bom.
Programar em C# é bom.

Esta dica foi revisada e testada no Java 8.


Java ::: Dicas & Truques ::: Strings e Caracteres

Como remover todos os espaços de uma string usando o método replace() da classe String da linguagem Java

Quantidade de visualizações: 2 vezes
Nesta dica mostrarei como usar o método replace() da classe String do Java para remover todos os espaços de uma frase ou texto, tanto no início, fim e no meio. Note que esta dica remove TODOS os espaços, não somente os espaço excessivos. Para isso veja outras dicas dessa seção.

Veja o código Java 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;

public class Estudos{
  public static void main(String[] args){
    String frase = "Programar em Java é muito bom";
    System.out.println("Com espaços: " + frase);
    
    frase = frase.replace(" ", "");   
    System.out.println("Sem espaços: " + frase);
     
    System.exit(0);
  }
}

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

Com espaços: Programar em Java é muito bom
Sem espaços: ProgramaremJavaémuitobom


Java ::: Fundamentos da Linguagem ::: Estruturas de Controle

Java para iniciantes - Como usar a instrução break em laços for e while da linguagem Java

Quantidade de visualizações: 13022 vezes
A instrução break é usada para abandonarmos completamente a execução de um laço for ou while. Assim, a execução do laço é interrompida no ponto onde a instrução break se encontra e o controle segue para a próxima instrução do programa após o laço. Veja um exemplo no qual temos um laço for que é abandonado após a variável de controle atingir o valor 5:

----------------------------------------------------------------------
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 
----------------------------------------------------------------------

public class Estudos{
  public static void main(String[] args) {
    for(int i = 0; i < 1000; i++){
      if(i == 5)
        break;

      System.out.println(i);
    }
  }
}

Veja o mesmo código usando um laço while infinito:

----------------------------------------------------------------------
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 
----------------------------------------------------------------------

public class Estudos{
  public static void main(String[] args) {
     int i = 0; 
     while(true){
       if(i == 5)
         break;

       System.out.println(i);
       i++;
    }
  }
}



Vamos testar seus conhecimentos em Python

Qual função é usada para substituir partes de uma string em Python?

A) str_replace()

B) replace()

C) Replace()

D) StringReplace()

E) repl()
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

O código de ética profissional: Concorrência

No Brasil, a livre concorrência está subordinada ao artigo 173, § 4º, da Constituição Federal. Posteriormente, foi instituído o Conselho Administrativo de Defesa Econômica (Cade), cujo objetivo é ___________.

Assinale a alternativa que completa a lacuna de forma correta.

A) proteger os consumidores e o mercado internacional de ações desonestas, práticas ilícitas e antiéticas.

B) proteger os consumidores, garantir a reserva de mercado para as commodities e combater ações desonestas, práticas ilícitas e antiéticas.

C) liberar a fusão entre as empresas como forma de proteger os consumidores e o mercado econômico.

D) proibir a entrada de produtos importados, visando à proteção da indústria nacional e dos consumidores.

E) proteger os consumidores e o mercado econômico de ações desonestas, práticas ilícitas e antiéticas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Ética e Legislação Profissional

Introdução à Ética

Aristóteles viveu entre grandes personalidades, já que foi discípulo de Platão e mestre de Alexandre, O Grande. Suas reflexões giravam em torno da política, da ética e da metafísica, e foram tão importantes que na atualidade influenciam campos científicos diversos, da política à biologia, passando, é claro, pela filosofia.

Considerando essas informações, analise as afirmativas a seguir.

I - Aristóteles foi o primeiro filósofo a elaborar tratados sistemáticos de ética, como a Ética a Nicômaco.

II - Aristóteles investiga o que é a felicidade, e ela deve ser um bem perfeito que se busca por si mesmo, e não como meio para outra coisa.

III - Ele partilhava da ideia de que uma pessoa virtuosa precisa viver numa sociedade regida por Deus, porque a ética não pode desvincular-se da religião.

Está correto apenas o que se afirma em:

A) I e II, apenas.

B) III, apenas.

C) I, apenas.

D) II, apenas.

E) II e III, apenas.
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em JavaScript

Analise o seguinte código JavaScript

document.write(typeof typeof 1);

Qual é o resultado de sua execução?

A) number

B) NaN

C) string

D) true

E) 1
Verificar Resposta Estudar Cards Todas as Questões

Vamos testar seus conhecimentos em Python

Qual a saída do seguinte programa Python?

valor = 0.0043563
print("Valor: %e" % valor)

A) Erro de execução na linha 2

B) Valor: 0.004356

C) Valor: 4.356300e-03

D) Valor: 0

E) Valor: 0.0044
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

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
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

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á 32 usuários muito felizes estudando em nosso site.