Lista de Exercícios Resolvidos: Java | Python | VisuAlg | Portugol | C | C# | VB.NET | C++
Você está aqui: C# ::: Dicas & Truques ::: Strings e Caracteres

Como separar uma frase em palavras em C# usando o método Split() da classe String

Quantidade de visualizações: 1383 vezes
Em algumas situações nós precisamos quebrar uma string, ou seja, separar uma frase ou texto em suas partes (geralmente palavras). Para isso nós podemos usar a função Split() da classe String da linguagem C#.

Veja um trecho de código no qual declaramos uma frase e usamos o espaço como delimitador para separar a frase em palavras, retornando um vetor:

using System;

namespace Estudos {
  class Program {
    static void Main(string[] args) {
      string frase = "Comprei quatro livros muito interessantes";
      Console.WriteLine("Frase inteira: " + frase);

      // vamos quebrar a string usando o espaço como delimitador
      string[] vetorPalavras = frase.Split(' ');

      // agora varremos o vetor de palavras
      foreach (string palavra in vetorPalavras) {
        Console.WriteLine(palavra);
      }

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

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

Frase inteira: Comprei quatro livros muito interessantes
Comprei
quatro
livros
muito
interessantes

Link para compartilhar na Internet ou com seus amigos:

C++ ::: Dicas & Truques ::: Recursão (Recursividade)

Como calcular potência em C++ usando uma função recursiva

Quantidade de visualizações: 18846 vezes
Nesta dica mostrarei como podemos efetuar cálculo de potência em C++ usando recursividade, ou seja, uma função que chama a si mesma repetidamente, até que o caso base (condição de parada) seja alcançado. Veja que informaremos a base e o expoente e a função nos retornará a potência da base informada.

Veja o código C++ completo para o exemplo:

#include <iostream>

using namespace std;

// função recursiva que calcula a potência de
// um inteiro
int potencia(int base, int expoente){
  // caso base
  if(expoente == 0){
    return 1;
  }
  // efetua mais uma chamada recursiva
  else{
    return base * potencia(base, expoente - 1);
  }
} 

// função principal do programa
int main(int argc, char *argv[]){
  int base = 3;
  int expoente = 4;

  cout << base << " elevado a " << expoente << " = " <<
    potencia(base, expoente) << endl;

  system("PAUSE"); // pausa o programa
  return EXIT_SUCCESS;
}

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

3 elevado a 4 = 81


Delphi ::: Classes, Controles e Componentes ::: TRegistry (Registro do Windows)

Como criar chaves no registro do Windows usando o método CreateKey() da classe TRegistry do Delphi

Quantidade de visualizações: 14672 vezes
Em algumas situações gostariámos de criar novas chaves e/ou sub-chaves no registro do Windows. Isso pode ser feito por meio do método CreateKey() da classe TRegistry. Este método recebe uma string especificando o nome da chave a ser criada e retorna um valor Boolean indicando se a chave foi criada com sucesso.

Veja um trecho de código no qual criamos uma chave chamada "Arquivo de Códigos" dentro da chave raiz HKEY_CURRENT_USER:

procedure TForm3.Button4Click(Sender: TObject);
var
  chave: String;
  reg: TRegistry;
begin
  // uses Registry

  // vamos definir o nome da chave a ser criada
  chave := 'Arquivo de Códigos';

  // vamos criar uma instância da classe TRegistry
  reg := TRegistry.Create;

  // a chave raiz padrão é HKEY_CURRENT_USER mas, por via das dúvidas
  // vamos reafirmar isso
  reg.RootKey := HKEY_CURRENT_USER;

  // vamos criar a chave informada
  if reg.CreateKey(chave) then
    begin
      ShowMessage('A chave foi criada com sucesso.');
    end
  else
    begin
      ShowMessage('Não foi possível criar a chave informada.');
    end;
    
  // vamos liberar o registro 
  reg.Free;
end;


Alguns aplicativos, por exemplo os da Adobe, Macromedia, Microsoft, etc, guardar informações relacionadas aos seus aplicativos na sub-chave SOFTWARE dentro da chave HKEY_LOCAL_MACHINE. Assim, vamos criar uma chave para um aplicativo fictício. Vamos chamar nossa chave de "Simulador Nota Fiscal Eletrônica 1.0". Note que, se esta chave já existir no registro nada acontecerá:

procedure TForm3.Button4Click(Sender: TObject);
var
  chave: String;
  reg: TRegistry;
begin
  // uses Registry

  // vamos definir o nome da chave a ser criada
  chave := 'Simulador Nota Fiscal Eletrônica 1.0';

  // vamos criar uma instância da classe TRegistry
  reg := TRegistry.Create;

  // vamos criar uma chave dentro de HKEY_LOCAL_MACHINE\SOFTWARE
  reg.RootKey := HKEY_LOCAL_MACHINE;

  // vamos criar a chave informada
  if reg.CreateKey('\SOFTWARE\' + chave) then
    begin
      ShowMessage('A chave foi criada com sucesso.');
    end
  else
    begin
      ShowMessage('Não foi possível criar a chave informada.');
    end;
    
  // vamos liberar o registro 
  reg.Free;
end;


Execute este código e logo em seguida abra uma janela de terminal e digite regedit.exe. vá na seção
HKEY_LOCAL_MACHINE\SOFTWARE e veja se a chave "Simulador Nota Fiscal Eletrônica 1.0" foi realmente criada.

Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009.


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

Como usar a classe GregorianCalendar do Java em suas aplicações

Quantidade de visualizações: 13319 vezes
[Baseado na documentação Java] - A classe GregorianCalendar (do pacote java.util) é uma classe concreta derivada de Calendar que fornece o sistema de calendário padrão usado em praticamente todos os países. Veja sua posição na hierarquia de classes Java:

java.lang.Object
  java.util.Calendar
    java.util.GregorianCalendar


As interfaces implementadas por esta classe são Serializable, Cloneable e Comparable<Calendar>.[br][br]

A classe GregorianCalendar é um calendário híbrido que suporta tanto o sistema de calendário juliano (Julian) quanto o gregoriano (Gregorian), com suporte para uma única descontinuidade, a qual corresponde por padrão à data gregoriana quando o calendário gregoriano foi instituido (15 de outubro de 1582 em alguns países, mais tarde em outros). Esta data pode ser alterada por meio de uma chamada ao método setGregorianChange().

Veja um trecho de código no qual criamos uma instância da classe GregorianCalendar usando a data e hora atual, o fuso horário (time zone) e localização (locale) padrão:

import java.util.*;

public class Estudos{ 
  public static void main(String args[]){ 
    Calendar agora = new GregorianCalendar();
    System.out.println(agora.toString());
  } 
}

Observe como instanciamos um objeto da classe GregorianCalendar e o tratamos como um objeto da classe Calendar. Esta forma de referenciar um objeto da classe derivada a partir de uma interface ou superclasse é muito comum em Java.


Java ::: Coleções (Collections) ::: Set (Conjunto)

Como usar objetos da interface Set do Java para representar a interseção (ou intersecção) de dois ou mais conjuntos

Quantidade de visualizações: 4268 vezes
Na teoria dos conjuntos, a interseção (português brasileiro) ou intersecção (português europeu) de dois ou mais conjuntos é o conjunto dos elementos que, simultaneamente, pertencem a dois ou mais destes conjuntos. Assim, seja A = {2, 5, 8, 19, 30} e B = {2, 3, 1, 30}. A interseção desses dois conjuntos é C = {2, 30}.

Na programação Java podemos representar a interseção de dois conjuntos usando objetos da interface Set e qualquer uma de suas implementações. Para este exemplo vou usar a classe TreeSet, que permite a ordenação dos elementos. Veja o código:

package estudos;

import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;

public class Estudos{
  public static void main(String[] args) {
    // primeiro conjunto
    Set<Integer> conjuntoA = new TreeSet<>();
    conjuntoA.add(2);
    conjuntoA.add(5);
    conjuntoA.add(8);
    conjuntoA.add(19);
    conjuntoA.add(30);
    
    // segundo conjunto
    Set<Integer> conjuntoB = new TreeSet<>();
    conjuntoB.add(2);
    conjuntoB.add(3);
    conjuntoB.add(1);
    conjuntoB.add(30);
    
    // vamos obter a interseção dos dois conjuntos      
    Set<Integer> conjuntoC = intersecao(conjuntoA, conjuntoB);        
    
    // vamos exibir os elementos no conjunto C
    Iterator iterator = conjuntoC.iterator();
    while(iterator.hasNext()){
      System.out.println(iterator.next());
    }
  }
  
  // método genérico que permite obter a interseção de dois conjuntos
  public static <T> Set<T> intersecao(Set<T> conjA, Set<T> conjB){
    Set<T> conjC = new TreeSet<>();
    // percorremos todos os elementos do conjunto A
    for(T elemento: conjA){
      // e verificamos se o elemento está contido no conjunto B
      if(conjB.contains(elemento)){
        conjC.add(elemento); // se estiver contido nós o adicionamos no conjunto C 
      }
    }
    
    return conjC; // e retornamos o conjunto C
  }
}

Ao executarmos este código teremos o seguinte resultado:

2
30


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

Exercícios Resolvidos de Java - Um laço for que pede que o usuário informe 10 valores inteiros e mostra a quantidade de valores pares informados

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

Escreva um programa Java console que usa o laço for para solicitar que o usuário digite 10 valores inteiros. Em seguida seu programa deverá contar quantos valores pares foram informados.

Dica: Use um objeto da classe Scanner para obter a entrada do usuário.

Resposta/Solução:

A resolução deste exercício envolve a criação de uma variável contador, do tipo int, e que deverá ser inicializada com o valor 0. Veja:

int contador = 0; // guardará a quantidade de valores pares lidos
Veja a resolução completa para o exercício, comentada linha a linha:

public static void main(String[] args){
  // para este exercício você deverá importar a classe
  // Scanner. Ela está no pacote java.util.*;
    
  // vamos construir um objeto da classe Scanner para ler a
  // entrada do usuário
  Scanner entrada = new Scanner(System.in);

  int valor; // guarda o valor lido
  int contador = 0; // guardará a quantidade de valores pares lidos

  // vamos pedir ao usuário que informe 10 valores inteiros
  for(int i = 0; i < 10; i++){
    System.out.print("Informe o " + (i + 1) + "º valor: ");
    valor = Integer.parseInt(entrada.nextLine());

    // vamos verificar se o valor lido é par
    if(valor % 2 == 0){
      contador++;
    }
  }

  // vamos exibir a quantidade de números pares lidos
  System.out.println("\nVocê informou " + contador + " valores pares.\n");
}



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

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
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
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
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
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby

Anúncio Patrocinado
Chat de Sexo - Site para adultso - Maiores de 18 anos. Converse com pessoas de todo o Brasil, de forma discreta e anônima


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