Java ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de uma substring em uma string do Java usando o método substring() e um laço forQuantidade de visualizações: 2 vezes |
|
Nesta dica mostrarei como podemos usar o método substring() da classe String, combinado com o laço for, para contar as ocorrências de uma substring em uma string da linguagem Java. Note que usamos também os métodos length() e equals() para completar a tarefa. Veja o código Java completo para o exemplo:
package estudos;
public class Estudos{
public static void main(String[] args){
// vamos criar uma string representando uma frase
String frase = "Programar em Java só é melhor que programar em Java";
// a substring que vamos pesquisar
String sub = "Java"; // ocorrências de "Java"
// quantidade de ocorrências
int cont = 0;
// um laço for que vai de 0 até o tamanho da primeira string menos
// o tamanho da segunda string - 1
for(int i = 0; i < (frase.length() - sub.length() + 1); i++){
String res = frase.substring(i, (i + sub.length()));
// encontramos a substring mais uma vez?
if(res.equals(sub)){
cont++;
}
}
System.out.println("A frase contém " + cont + " ocorrências de " + sub);
// fecha o programa
System.exit(0);
}
}
Ao executar este código Java nós teremos o seguinte resultado: A frase contém 2 ocorrências de Java |
Python ::: Python para Engenharia ::: Unidades de Medida |
Como converter Centímetros Cúbicos em Metros Cúbicos em Python - Python para Física e EngenhariaQuantidade de visualizações: 784 vezes |
|
Em muitas situações nós temos uma medida de volume em cm3 e queremos transformá-la em m3, que é a medida de volume do Sistema Internacional (SI). Para isso só precisamos dividir os centímetros cúbicos por 1.000.000. Veja a fórmula: \[\text{Metros Cúbicos} = \frac{\text{Centímetros Cúbidos}}{1.000.000} \] Agora veja o código Python que pede para o usuário informar a medida de volume em centímetros cúbicos e a converte para metros cúbicos. Note que mostrei como exibir o resultado em notação científica e sem notação científica:
# função principal do programa
def main():
# vamos ler a medida em centímetros cúbicos
cent_cubicos = float(input("Informe os centímetros cúbicos: "))
# agora calculamos os metros cúbicos
met_cubicos = cent_cubicos / 1000000.00
# e mostramos o resultado
print("Você informou {0} centímetros cúbicos.".format(cent_cubicos))
print("Isso equivale a {0} metros cúbicos.".format(met_cubicos))
print(f"Sem notação científica: {met_cubicos:.6f}")
if __name__== "__main__":
main()
Ao executar este código Python nós teremos o seguinte resultado: Informe os centímetros cúbicos: 35 Você informou 35.0 centímetros cúbicos. Isso equivale a 3.5E-5 metros cúbicos. Sem notação científica: 0,000035 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Exceções e Tratamentos de Erros |
Exercício Resolvido de Java - Como forçar o usuário a informar dois inteiros válidos antes de efetuar sua soma - Exceções e Tratamentos de Erros em JavaQuantidade de visualizações: 4131 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que usa tratamento de erros try...catch para forçar o usuário a informar dois valores inteiros válidos antes de tentar somá-los. Caso o usuário informe um ou os dois valores inválidos, o programa deverá exibir uma mensagem de erro e solicitar os valores novamente. Sua saída deverá ser parecida com: Informe o primeiro valor: M Dados inválidos: java.lang.NumberFormatException: For input string: "M" Por favor, informe os dois números novamente Informe o primeiro valor: 7 Informe o segundo valor: % Dados inválidos: java.lang.NumberFormatException: For input string: "%" Por favor, informe os dois números novamente Informe o primeiro valor: 5 Informe o segundo valor: 3 A soma dos valores é: 8 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// para verificar se os valores são inteiros válidos
boolean validos = false;
int n1, n2, soma;
// solicita que o usuário informe os dois valores
while(!validos) {
try {
System.out.print("Informe o primeiro valor: ");
// tenta fazer a conversão
n1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo valor: ");
// tenta fazer a conversão
n2 = Integer.parseInt(entrada.nextLine());
// se chegou até aqui é porque não houve erros na conversão,
// ou seja, o usuário informou inteiros válidos
soma = n1 + n2;
System.out.println("A soma dos valores é: " + soma);
validos = true;
}
catch (Exception ex) { // houve erro na conversão?
System.out.println("Dados inválidos: " + ex.toString());
System.out.println("Por favor, informe os dois números novamente");
}
}
}
}
|
C# ::: Dicas & Truques ::: Strings e Caracteres |
Como embaralhar as palavras em uma frase ou texto usando C#Quantidade de visualizações: 12936 vezes |
|
Nesta dica mostrarei como podemos usar a linguagem C# para embaralhar, ou seja, exibir as palavras de uma string em ordem aleatória. Veja o código C# completo para o exemplo:
using System;
namespace Estudos {
class Program {
static void Main(string[] args) {
string frase = "Gosto de VB.NET, Java e C#";
// mostra a frase na ordem original
Console.WriteLine("Ordem original: " + frase);
// converte em um vetor de palavras
string[] frase2 = frase.Split(' ');
// vamos embaralhar 5 vezes
Embaralhar(ref frase2, 5);
// junta as partes da string novamente
frase = String.Join(" ", frase2);
// exibe o resultado
Console.WriteLine("Embaralhada: " + frase);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
static void Embaralhar(ref String[] array, int vezes) {
Random rand = new Random(DateTime.Now.Millisecond);
for (int i = 1; i <= vezes; i++) {
for (int x = 1; x <= array.Length; x++) {
Trocar(ref array[rand.Next(0, array.Length)],
ref array[rand.Next(0, array.Length)]);
}
}
}
static void Trocar(ref String arg1, ref String arg2) {
String strTemp = arg1;
arg1 = arg2;
arg2 = strTemp;
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: Ordem original: Gosto de VB.NET, Java e C# Embaralhada: VB.NET, C# Java de e Gosto |
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 |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






