Você está aqui: C# ::: Coleções (Collections) ::: ArrayList |
Como criar um ArrayList de inteiros no C# e percorrer os elementos usando o laço foreachQuantidade de visualizações: 12506 vezes |
Nesta dica mostrarei um código C# direcionado aos programadores que querem aprender a usar a classe ArrayList em seus programas. Trata-se da criação de uma ArrayList de números inteiros. Depois de criada a lista nós vamos adicionar alguns elementos e depois vamos usar o laço foreach para exibir os valores adicionados. Veja o código completo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- using System; using System.Collections; namespace Estudos { class Principal { static void Main(string[] args) { // Cria o ArrayList ArrayList lista = new ArrayList(); // Adiciona 5 inteiros lista.Add(30); lista.Add(2); lista.Add(98); lista.Add(1); lista.Add(7); // Percorre os elementos da ArrayList Console.WriteLine("Os elementos no ArrayList são:\n"); foreach (int valor in lista) { Console.Write("{0} ", valor); } Console.WriteLine("\nPressione uma tecla para sair..."); Console.ReadKey(); } } } Ao executar este código C# nós teremos o seguinte resultado: Os elementos no ArrayList são: 30 2 98 1 7 |
Link para compartilhar na Internet ou com seus amigos: |
Java ::: Java Swing - Gerenciadores de Layout ::: GridBagLayout |
Como usar o gerenciador de layout GridBagLayout em suas aplicações Java SwingQuantidade de visualizações: 12119 vezes |
O gerenciador de layout GridBagLayout é um dos mais complexos e mais flexíveis. Embora possa parecer, esta classe não é uma sub-classe de GridLayout, como mostra sua posição na hierarquia de classes Java:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- java.lang.Object java.awt.GridBagLayout Esta classe implementa as interfaces LayoutManager, LayoutManager2 e Serializable. A vantagem do gerenciador de layout GridBagLayout em relação ao GridLayout, é que, com o GridBagLayout nós podemos fazer com que os componentes nas linhas e colunas possam ter diferentes tamanhos e às vezes ocupar múltiplas linhas e colunas. O trecho de código abaixo mostra a forma mais simples de se criar um GridBagLayout. Veja que os botões são arranjados de forma horizontal na janela. É claro que sem os ajustes necessários, não tiramos muito proveito do uso deste gerenciador (mas isso será visto em outras dicas dessa seção): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- import javax.swing.*; import java.awt.*; public class Estudos extends JFrame{ public Estudos(){ super("Como usar a classe GridBagLayout"); // define o layout setLayout(new GridBagLayout()); // adiciona componentes à janela add(new JButton("Botão 1")); add(new JButton("Botão 2")); add(new JButton("Botão 3")); add(new JButton("Botão 4")); setSize(350, 150); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } Ao executar este código Java Swing nós teremos o seguinte resultado: |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como testar se um valor está contido em um array em JavaQuantidade de visualizações: 10703 vezes |
Pergunta/Tarefa: Escreva um programa Java GUI ou console que declara, constrói e inicializa um vetor (array unidimensional) de 5 inteiros. Em seguida peça ao usuário para informar um valor inteiro e informe se o valor lido está contido no vetor. A declaração, construção e inicialização do vetor pode ser feita da seguinte forma: // declara, constrói e inicializa um vetor de 5 inteiros int valores[] = {4, 21, 8, 120, 1}; Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- package estudos; import javax.swing.JOptionPane; public class Estudos { public static void main(String[] args) { // declara, constrói e inicializa um vetor de 5 inteiros int valores[] = {4, 21, 8, 120, 1}; // vamos ler um valor inteiro int pesquisa = Integer.parseInt(JOptionPane.showInputDialog("Valor:")); // vamos verificar se o valor informado está contido no vetor boolean encontrado = false; for(int i = 0; i < valores.length; i++){ if(valores[i] == pesquisa){ encontrado = true; break; } } if(encontrado){ JOptionPane.showMessageDialog(null, "O valor está no vetor"); } else{ JOptionPane.showMessageDialog(null, "O valor não está no vetor"); } } } |
C ::: Desafios e Lista de Exercícios Resolvidos ::: C Básico |
Exercícios Resolvidos de C - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversaQuantidade de visualizações: 996 vezes |
Algorítmo Resolvido de C - Ler um número de três dígitos, separá-lo e invertê-lo, escrevendo o número lido e sua forma inversa Pergunta/Tarefa: Escreva um programa C que leia um número de 3 dígitos e o inverta, escrevendo o número lido e o invertido. Por exemplo, se o usuário informar o valor 753, seu programa deverá invertê-lo, resultando em 357. Seu programa deverá exibir a seguinte saída: Observação: Seu código deverá usar apenas os operadores matemáticos disponíveis, por padrão, na linguagem C. Informe um valor inteiro de três dígitos: 753 O valor original é: 753 O valor invertido é: 357 Veja a resolução comentada deste exercício usando C console (modo texto): ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> #include <locale.h> int main(int argc, char *argv[]) { int numero, temp, inverso; setlocale(LC_ALL,""); // para acentos do português // vamos solicitar ao usuário que informe um valor inteiro // na faixa 100 a 999 (incluindo) printf("Informe um valor inteiro de três dígitos: "); // vamos ler o valor informado scanf("%d", &numero); // vamos verificar se o valor está na faixa permitida if(numero < 100 || numero > 999){ printf("Valor fora da faixa permitida"); } else{ // vamos criar uma variável temporária para // manter intacto o valor lido temp = numero; inverso = 0; // guardará o valor invertido // vamos inverter o valor agora while(temp != 0){ inverso = (inverso * 10) + (temp % 10); temp = temp / 10; } // vamos mostrar o resultado printf("O valor original é: %d\n", numero); printf("O valor invertido é: %d", inverso); } printf("\n\n"); system("pause"); return 0; } |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como usar o modificador de acesso private em suas classes PHPQuantidade de visualizações: 8570 vezes |
O modificador private serve para indicar que as propriedades ou métodos (funções) de uma classe podem ser acessados somente por código residente na mesma classe. Veja um exemplo:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? class Pessoa{ private $nome; } $pessoa = new Pessoa; $pessoa->nome = "Osmar J. Silva"; ?> Ao executarmos este código teremos a seguinte mensagem de erro: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Fatal error: Cannot access private property Pessoa::$nome in C:\Apache_Web_Server\htdocs\testes.php on line 7 Esse erro ocorre porque a variável $nome, por estar marcada com o modificador private, não pode ser acessada por código fora da classe. Veja agora um exemplo envolvendo um método privado: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <? class Pessoa{ private function somar($a, $b){ return $a + $b; } } $pessoa = new Pessoa; echo $pessoa->somar(4, 2); ?> Ao executarmos este código, a seguinte mensagem de erro será exibida: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Fatal error: Call to private method Pessoa::somar() from context '' in C:\Apache_Web_Server\htdocs\testes.php on line 9 Novamente, este erro é causado porque o método somar() não pode ser acessado por código fora da classe Pessoa. É importante notar, contudo, que as propriedades e métodos privados de uma classe não podem ser acessados nem mesmo por suas classes derivadas (sub-classes). |
C ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Ordenação e pesquisa em C - Como ordenar um vetor de inteiros usando a ordenação Insertion Sort (Ordenação por Inserção)Quantidade de visualizações: 2266 vezes |
A ordenação Insertion Sort, ou Ordenação por Inserção, possui uma complexidade de tempo de execução igual à ordenação Bubble Sort (Ordenação da Bolha), ou seja, O(n2). Embora mais rápido que o Bubble Sort, e ser um algorítmo de ordenação quadrática, a ordenação Insertion Sort é bastante eficiente para problemas com pequenas entradas, sendo o mais eficiente entre os algoritmos desta ordem de classificação, porém, nunca recomendada para um grande conjunto de dados. A forma mais comum para o entendimento da ordenação Insertion Sort é compará-la com forma pela qual algumas pessoas organizam um baralho num jogo de cartas. Imagine que você está jogando as cartas. Você está com as cartas na mão e elas estão ordenadas. Você recebe uma nova carta e deve colocá-la na posição correta da sua mão de cartas, de forma que as cartas obedeçam à ordenação. A cada nova carta adicionada à sua mão de cartas, a nova carta pode ser menor que algumas das cartas que você já tem na mão ou maior, e assim, você começa a comparar a nova carta com todas as cartas na sua mão até encontrar sua posição correta. Você insere a nova carta na posição correta, e, novamente, a sua mão é composta de cartas totalmente ordenadas. Então, você recebe outra carta e repete o mesmo procedimento. Então outra carta, e outra, e assim em diante, até não receber mais cartas. Esta é a ideia por trás da ordenação por inserção. Percorra as posições do vetor (array), começando com o índice 1 (um). Cada nova posição é como a nova carta que você recebeu, e você precisa inseri-la no lugar correto no sub-vetor ordenado à esquerda daquela posição. Vamos ver a implementação na linguagem C agora? Observe o seguinte código, no qual temos um vetor de inteiros com os elementos {4, 6, 2, 8, 1, 9, 3, 0, 11}: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- #include <stdio.h> #include <stdlib.h> // função que permite ordenar um vetor de inteiros // usando a ordenação Insertion Sort void insertionSort(int vetor[], int tam){ int i, temp, j; // este laço varre os elementos a partir do segundo // elemento, ou seja, o índice 1 for(i = 1; i < tam; i++){ // guardamos o elemento atual em temp temp = vetor[i]; for(j = i; ((j > 0) && (vetor[j - 1] > temp)); j--){ vetor[j] = vetor[j - 1]; // houve uma troca } vetor[j] = temp; // colocamos temp em seu devido lugar } } int main(int argc, char *argv[]){ int valores[] = {4, 6, 2, 8, 1, 9, 3, 0, 11}; int i, tamanho = 9; // imprime a matriz sem a ordenação puts("Sem ordenação:\n"); for(i = 0; i < 9; i++){ printf("%d ", valores[i]); } // vamos ordenar a matriz insertionSort(valores, tamanho); // imprime a matriz ordenada puts("\n\nOrdenada usando Insertion Sort:\n"); for(i = 0; i < 9; i++){ printf("%d ", valores[i]); } printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: Sem ordenação: 4 6 2 8 1 9 3 0 11 Ordenada usando Insertion Sort: 0 1 2 3 4 6 8 9 11 |
Desafios, Exercícios e Algoritmos Resolvidos de C |
Veja mais Dicas e truques de C |
Dicas e truques de outras linguagens |
JavaScript - Validação de formulários em JavaScript - Como validar um formulário contendo usuário e senha em JavaScript |
Códigos Fonte |
Software 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 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 |