Você está aqui: Java ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir a primeira ocorrência de uma substring em uma string Java usando o método replaceFirst()Quantidade de visualizações: 595 vezes |
Em algumas situações nós precisamos substituir apenas a primeira ocorrência de uma substring em uma palavra, frase ou texto. Para isso nós podemos usar o método replaceFirst() da classe String da linguagem Java. Este método, ao contrário dos métodos replace() e replaceAll(), substitui somente a primeira ocorrência. Os argumentos para o método são a substring a ser pesquisada e a substring que tomará o seu lugar. 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; public class Estudos { public static void main(String[] args){ // vamos criar uma string String frase = "Gosto de Java porque Java é muito bom"; // vamos mostrar a string original System.out.println("String original: " + frase); // agora vamos substituir a primeira ocorrência de "Java" frase = frase.replaceFirst("Java", "Python"); // mostramos o resultado System.out.println("Depois da substituição: " + frase); } } Ao executar este código Java nós teremos o seguinte resultado: String original: Gosto de Java porque Java é muito bom Depois da substituição: Gosto de Python porque Java é muito bom |
![]() |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Como ler um número inteiro e imprimir seu sucessor e seu antecessor em JavaQuantidade de visualizações: 1214 vezes |
Pergunta/Tarefa: Escreva um programa Java para ler um número inteiro e imprimir seu sucessor e seu antecessor. O usuário poderá informar um valor positivo ou negativo. Sua saída deverá ser parecida com: Informe um número inteiro: 16 O número informado foi: 16 O antecessor é 15 O sucessor é: 17 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) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar um número inteiro System.out.print("Informe um número inteiro: "); int numero = Integer.parseInt(entrada.nextLine()); // vamos calcular o sucessor do número informado int sucessor = numero + 1; // vamos calcular o antecessor do número informado int antecessor = numero - 1; // e agora mostramos os resultados System.out.println("O número informado foi: " + numero); System.out.println("O antecessor é " + antecessor); System.out.println("O sucessor é: " + sucessor); } } |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posiçãoQuantidade de visualizações: 460 vezes |
Pergunta/Tarefa: Escreva um programa Java que leia e apresente um conjunto de números inteiros para uma matriz bidimensional 2 x 4 e apresente o valor e a posição do maior número inteiro. Você deverá informar tanto a linha quanto a coluna que o maior valor é encontrado. Uma matriz bidimensional 2 x 4 quer dizer que a matriz possui 2 linhas e 4 colunas. Seu programa Java deverá exibir uma saída parecida com: Valor da linha 1 e coluna 1: 6 Valor da linha 1 e coluna 2: 9 Valor da linha 1 e coluna 3: 11 Valor da linha 1 e coluna 4: 5 Valor da linha 2 e coluna 1: 20 Valor da linha 2 e coluna 2: 63 Valor da linha 2 e coluna 3: 31 Valor da linha 2 e coluna 4: 7 Valores na matriz 6 9 11 5 20 63 31 7 O maior valor é 63 Ele foi encontrado na linha 2 e coluna 2 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) { // variaveis usdas na resolução do problema int matriz[][] = new int[2][4]; int maior_valor, linha, coluna; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos ler os valores e colocar na matriz for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas System.out.print("Valor da linha " + (i + 1) + " e coluna " + (j + 1) + ": "); matriz[i][j] = Integer.parseInt(entrada.nextLine()); } System.out.println(); } // vamos mostrar a matriz da forma que ela foi informada System.out.println("\nValores na matriz\n"); for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas System.out.printf("%5d", matriz[i][j]); } // passa para a próxima linha da matriz System.out.println(); } // agora vamos localizar o maior valor na matriz linha = 0; coluna = 0; maior_valor = matriz[linha][coluna]; for(int i = 0; i < matriz.length; i++){ // linhas for(int j = 0; j < matriz[0].length; j++){ // colunas if(matriz[i][j] > maior_valor){ maior_valor = matriz[i][j]; linha = i + 1; coluna = j + 1; } } } // vamos mostrar o resultado System.out.println("\nO maior valor é " + maior_valor); System.out.println("Ele foi encontrado na linha " + linha + " e coluna " + coluna); } } |
Java ::: Java para Engenharia ::: Hidrologia e Hidráulica |
Como calcular o volume de chuvas em Java - Fórmula do cálculo do volume de chuvas em JavaQuantidade de visualizações: 299 vezes |
O estudo da Hidrologia passa, necessariamente, pelo cálculo do volume de chuvas em uma determinada região, ou bacia hidrológica. Assim, é comum ouvirmos alguém dizer que, em um determinado local, choveu 100 mm durante um determinado período. Mas o que isso significa? O mês mais chuvoso em Goiânia é dezembro, com média de 229 milímetros de precipitação de chuva. Isso significa que, em uma área de 1 m2, a lâmina de água formada pela chuva que cai apresenta uma altura de 229 milímetros. Como sabemos que o volume é a área multiplicada pela altura, tudo que temos a fazer é considerar a área de 1 m2 multiplicada pela altura da lâmina de água (convertida também para metros). Veja a fórmula: \[\text{Volume} = \text{(Área da Base) x Altura}\] Lembre-se de que volume pode ser retornado em litros, ou seja, 1 m3 = 1000 litros. Veja agora o código Java completo que pede para o usuário informar a precipitação da chuva, ou seja, a altura da lâmina de água em milímetros e retorna o volume de água em litros. ---------------------------------------------------------------------- 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) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir para o usuário informar a altura da lâmina // de água em milímetros System.out.print("Altura da lâmina de água em milímetros: "); double altura_lamina = Double.parseDouble(entrada.nextLine()); // o primeiro passo é converter os milímetros da lâmina de água // para metros altura_lamina = altura_lamina / 1000.00; // agora que já temos a altura da lâmina em metros, vamos multiplicar // pela base (1 metro quadrado) para obtermos o volume da chuva por // metro quadrado double volume_chuva = (altura_lamina * 1.00) * 1000.00; // vamos mostrar o resultado System.out.println("O volume da chuva é: " + volume_chuva + " litros para cada metro quadrado"); } } Ao executar este código Java nós teremos o seguinte resultado: Altura da lâmina de água em milímetros: 229 O volume da chuva é: 229.0 litros para cada metro quadrado Qual é o volume de 1 mm de chuva? A altura pluviométrica é a espessura da lâmina d'água precipitada que cobre a região atingida pela chuva. Geralmente a unidade de medição é o milímetro (mm) porque o aparelho que mede a chuva, o pluviômetro, é lido em milímetros. O pluviômetro é um aparelho meteorológico destinado a medir, em milímetros, a altura da lâmina de água gerada pela chuva que caiu numa área de 1 m2. 1 mm de chuva equivale a 1 litro de água, ou 1 dm3, considerando a área de 1 m2. |
Java ::: Java + MySQL ::: Passos Iniciais |
Java MySQL - Como efetuar uma conexão Java + JDBC + MySQL usando o NetBeans IDEQuantidade de visualizações: 8131 vezes |
Se sua intenção é usar a linguagem Java em combinação com o banco de dados MySQL, o primeiro passo é aprender como se conectar a este banco de dados usando JDBC (Java Database Connectivity). Para isso, siga atentamente os passos abaixo: a) Pesquise e baixe o driver Sun Microsystem's JDBC Driver for MySQL. A versão mais recente deste driver é chamada de MySQL Connector/J e pode ser baixada no endereço http://dev.mysql.com/downloads. Durante a autoria deste artigo, o nome do arquivo a ser baixado era semelhante à mysql-connector-java-5.1.10.zip. b) Depois de descompactar o arquivo baixado, adicione uma referência para o Jar mysql-connector-java-5.1.10-bin.jar. Se você estiver usando NetBeans, crie uma nova aplicação. Em seguida clique com o botão direito em Bibliotecas -> Adicionar Jar/pasta e localize o jar. Em seguida clique o botão Open. c) Hora de efetuar uma conexão com o banco de dados. Para este exemplo eu fiz uma conexão com o MySQL 5.0 (o nome da base de dados que usei foi "estudos"). Veja o código: ---------------------------------------------------------------------- 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 estudosjavamysql; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class EstudosJavaMySQL{ public static void main(String[] args){ // strings de conexão String databaseURL = "jdbc:mysql://localhost/estudos"; String usuario = "root"; String senha = "osmar1234"; String driverName = "com.mysql.jdbc.Driver"; try { Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(databaseURL, usuario, senha); System.out.println("Conexão obtida com sucesso."); } catch (SQLException ex) { System.out.println("SQLException: " + ex.getMessage()); System.out.println("SQLState: " + ex.getSQLState()); System.out.println("VendorError: " + ex.getErrorCode()); } catch (Exception e) { System.out.println("Problemas ao tentar conectar com o banco de dados: " + e); } } } Execute a aplicação. Se tudo correu bem você verá o resultado: Conexão obtida com sucesso. |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Como definir a cor de fundo para a janela JFrame de sua aplicação Java SwingQuantidade de visualizações: 15771 vezes |
Nesta dica mostrarei como é possível definir a cor de fundo para uma janela JFrame. O truque aqui é obter o painel de conteúdo da JFrame usando o método getContentPane() e, em seguida, usar o método setBackground() da classe Container fornecendo a cor desejada. 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.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("A classe JFrame"); Container c = getContentPane(); c.setLayout(new FlowLayout(FlowLayout.LEFT)); // Define a cor de fundo c.setBackground(Color.CYAN); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } |
Java ::: Coleções (Collections) ::: LinkedHashSet |
Como remover itens repetidos de uma ArrayList usando um objeto da classe LinkedHashSet do JavaQuantidade de visualizações: 651 vezes |
Em algumas situações nós temos uma ArrayList com algumas repetições e gostaríamos de remover os itens duplicados mas gostaríamos de manter a ordem original dos elementos. Para isso nós podemos usar um objeto da classe LinkedHashSet. Como sabemos, classes que implementam a interface Set possuem a habilidade de recusar itens repetidos. A classe LinkedHashSet, além de recusar duplicidades de valores, mantém a ordem de inserção dos elementos. 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 estudos; import java.util.ArrayList; import java.util.LinkedHashSet; public class Estudos { public static void main(String[] args) { // vamos criar uma ArrayList de linguagens de programação ArrayList<String> lista = new ArrayList<>(); // vamos adicionar alguns elementos no ArrayList. Note // que temos itens repetidos lista.add("Java"); lista.add("Scala"); lista.add("Ruby"); lista.add("Scala"); lista.add("Python"); lista.add("Ruby"); lista.add("Delphi"); // vamos mostrar o conteúdo do ArrayList System.out.println("O conteúdo do ArrayList é: " + lista.toString()); // vamos criar uma instância da classe LinkedHashSet LinkedHashSet<String> set = new LinkedHashSet<>(lista); // agora construímos uma nova ArrayList sem repetições a // partir do LinkedHashSet ArrayList<String> lista2 = new ArrayList<>(set); // e mostramos o resultado System.out.println("ArrayList sem repetições: " + lista2.toString()); } } Ao executar este código Java nós teremos o seguinte resultado: O conteúdo do ArrayList é: [Java, Scala, Ruby, Scala, Python, Ruby, Delphi] ArrayList sem repetições: [Java, Scala, Ruby, Python, Delphi] Note como a ordem dos elementos no ArrayList original foi respeitada. |
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 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Matemática e Estatística |
Exercícios Resolvidos de Java - Como converter de decimal para números romanos em JavaQuantidade de visualizações: 582 vezes |
Pergunta/Tarefa: Escreva um programa Java que pede para o usuário informar um número inteiro decimal e converta-o para o número romano correspondente. Sua saída deverá ser parecida com: Informe um número decimal: 2023 O número romano correspondente é: MMXXIII 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) { // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos criar um array com os valores decimais possíveis de // cada número romano int valoresNumerosRomanos[] = new int[]{1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1}; // representação dos números romanos String numerosRomanos[] = new String[]{"M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"}; // vamos pedir para o usuário informar um número decimal System.out.print("Informe um número decimal: "); int numero = Integer.parseInt(entrada.nextLine()); // para guardar o resultado String resultado = ""; // o número é maior que zero? if (numero > 0) { // percorremos o array de valores decimais dos números romanos for(int i = 0;i < valoresNumerosRomanos.length; i++){ // enquanto o número informado for maior que o valor do // do número romano atual while(numero >= valoresNumerosRomanos[i]){ // reduz o número informado numero = numero - valoresNumerosRomanos[i]; // concatena o número romano e continua o cálculo resultado = resultado + numerosRomanos[i]; } } } // mostramos o resultado if(resultado.isEmpty()){ System.out.println("O número informado não possui número romano"); } else{ System.out.println("O número romano correspondente é: " + resultado); } } } |
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 |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |