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 |
Você está aqui: Java ::: Coleções (Collections) ::: ArrayList |
|
Como remover um elemento de uma determinada posição do ArrayList do Java usando o método remove()Quantidade de visualizações: 16612 vezes |
|
Nesta dica mostrarei como é possível remover elementos em uma determinada posição de um objeto ArrayList usando o seu método remove(). Esta função possui duas assinaturas, uma que recebe uma referência ao elemento a ser excluído e outra que recebe o índice do elemento que queremos excluir. No exemplo a seguir abordarei a segunda assinatura:Object remove(int index) throws IndexOutOfBoundsException Note que só precisamos fornecer o índice do elemento a ser excluído. O retorno será um objeto Object contendo a referência ao elemento que acabamos de excluir. Se o elemento não for encontrado, um erro IndexOutOfBoundsException será exibido e, a menos que seja tratado, a aplicação Java será fechada. Veja o código completo a seguir: import java.util.ArrayList; public class Estudos{ public static void main(String[] args){ // cria uma ArrayList que conterá strings ArrayList<String> nomes = new ArrayList<String>(); // adiciona itens na lista nomes.add("Carlos"); nomes.add("Maria"); nomes.add("Fernanda"); nomes.add("Osmar"); nomes.add("Maria"); // Vamos remover o segundo elemento String elem = nomes.remove(1); System.out.println("O elemento removido foi: " + elem); System.exit(0); } } Ao executarmos este código Java nós teremos o seguinte resultado: O elemento removido foi: Maria |
|
Link para compartilhar na Internet ou com seus amigos: | |
VB.NET ::: Dicas & Truques ::: Strings e Caracteres |
Como contar as ocorrências de um caractere em uma string em VB.NET usando o método IndexOf()Quantidade de visualizações: 12391 vezes |
Nesta dica mostrarei como podemos usar o método IndexOf() da classe String do VB.NET e o laço While para contar quantas vezes um determinado caractere ocorre em uma palavra, frase ou string. Veja o código completo para o exemplo: Imports System Module Program Sub Main(args As String()) Dim frase As String = "Gosto muito de VB.NET e você?" Dim letra As Char = "o" Dim quant As Integer = 0 Dim pos As Integer = -1, pos_ant As Integer = -1 Dim cont As Integer = 0 ' mostra a frase Console.WriteLine("A frase é: " & frase) While cont < frase.Length pos = frase.IndexOf(letra, cont) If pos <> pos_ant And pos <> -1 Then Console.WriteLine("""" & letra & """ encontrada na posição " & pos) quant += 1 End If cont += 1 pos_ant = pos End While ' mostra a quantidade de ocorrências da letra "o" Console.WriteLine("Encontrei " & quant & " ocorrências da " _ & "letra " & letra) Console.WriteLine(vbCrLf & "Pressione qualquer tecla para sair...") ' pausa o programa Console.ReadKey() End Sub End Module Ao executar este código VB.NET nós teremos o seguinte resultado: A frase é: Gosto muito de VB.NET e você? "o" encontrada na posição 1 "o" encontrada na posição 4 "o" encontrada na posição 10 "o" encontrada na posição 25 Encontrei 4 ocorrências da letra o |
Dart ::: Dicas de Estudo e Anotações ::: Estruturas de Controle |
Como usar o laço for da linguagem DartQuantidade de visualizações: 3777 vezes |
Em algumas situações os nossos códigos precisam executar repetidas vezes uma ou mais instruções. Para isso a linguagem Dart, assim como C, C++, Java, Python, JavaScript, Delphi, etc, nos oferece o laço for, ou loop for. Este laço é usado quando sabemos exatamente a quantidade de vezes que a instrução (ou grupo de instruções) deverá ser repetida. Veja um exemplo no qual usamos este laço para contar de 1 até 10: void main() { for (int i = 1; i <= 10; i++) { print('${i}'); } } Ao executar este código nós teremos o seguinte resultado: 1 2 3 4 5 6 7 8 9 10 Veja que o laço for em Dart é composto de três partes: a) Inicialização da variável de controle; b) O teste de continuidade; c) O incremento ou decremento da variável de controle. Como a execução do laço se inicia no teste de continuidade, é possível termos um laço for que nunca será executado. Veja: void main() { for (int i = 1; i > 5; i++) { print('${i}'); } } Execute este código e perceberá que nenhum valor é impresso. Isso aconteceu porque o teste condicional retornou um valor falso, impedindo até mesmo a primeira execução do laço. Veja agora um laço for que conta de 10 até 1: void main() { for (int i = 10; i >= 1; i--) { print('${i}'); } } Para finalizar em grande estilo, veja um laço for que pede para o usuário digitar 5 idades e, em seguida, mostra a média das idades lidas: // Vamos importar a biblioteca dart:io import 'dart:io'; void main() { int soma = 0; // vamos solicitar 5 idades for (int i = 0; i < 5; i++) { stdout.write("Digite uma idade: "); int idade = int.parse(stdin.readLineSync()); soma = soma + idade; } // Vamos mostrar a média das idades double media = soma / 5; print("A média das idades é $media."); } A execução deste código mostrará o seguinte resultado: c:\estudos_dart>dart laco_for.dart Digite uma idade: 18 Digite uma idade: 21 Digite uma idade: 34 Digite uma idade: 50 Digite uma idade: 9 A média das idades é 26.4. |
C ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de C - Um método recursivo que conta de 0 até 10Quantidade de visualizações: 616 vezes |
Pergunta/Tarefa: Escreva um método recursivo que conta e exibe os valores de 0 até 10. Seu método deverá possuir a seguinte assinatura: void contar_recursivamente(int n){ // sua implementação aqui } Sua saída deverá ser parecida com: 0 1 2 3 4 5 6 7 8 9 10 Veja a resolução comentada deste exercício usando C console: #include <stdio.h> #include <stdlib.h> // método recursivo que conta de 0 até 10; void contar_recursivamente(int n){ // vamos exibir o número atual printf("%d ", n); // devemos prosseguir com a recursividade? if(n < 10){ // incrementa o valor de n n++; contar_recursivamente(n); // e faz uma nova chamada recursiva } } // método principal do programa int main(int argc, char *argv[]){ // efetua uma chamada ao método recursivo fornecendo o primeiro valor contar_recursivamente(0); printf("\n\n"); system("pause"); return 0; } |
React ::: Elementos de Formulários HTML ::: input type text Element/Object |
Como obter o conteúdo de uma caixa de texto em React usando a função useRef() para acessar os elementos HTMLQuantidade de visualizações: 420 vezes |
Nesta dica mostrarei como podemos usar useRef() para criar uma referência para um elemento HTML <input type="text">. Em seguida nós vamos usar a propriedade current.value para retornar o conteúdo da caixa de texto e atualizar o estado nomeAtualizado, criado a partir da função useState(). Este código, embora simples, é o ponto de partida para aplicações React bem interessantes, pois não fazemos uso do evento onChange das caixas de texto para atualizar o estado da aplicação. Isso, como é fácil de se perceber, economiza os recursos gastos em processamento desnecessário. Veja o código para App.js: // vamos importar o useState e useRef import {useState, useRef} from 'react'; // função App() que será exportada export default function App() { // vamos criar uma referência para a caixa // de texto. Veja que esta referência será // usada na declaração do elemento input type text const txtNome = useRef(null); // vamos usar um estado para guardarmos o conteúdo // da caixa de texto const [nomeAtualizado, setNomeAtualizado] = useState(''); // aqui nós gerenciamos o evento onClick do botão const tratarEventoClick = () => { // vamos obter o conteúdo da caixa de texto // usando "txtNome.current.value" setNomeAtualizado(txtNome.current.value); }; // e retornamos para renderização return ( <div> <input type="text" id="nome" name="nome" ref={txtNome}/> <h2>Nome Atualizado: {nomeAtualizado}</h2> <button onClick={tratarEventoClick}> Atualizar Estado</button> </div> ); } E aqui está o código para o index.js: // vamos fazer os imports necessários import React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; // definimos a raiz da aplicação React const root = ReactDOM.createRoot( document.getElementById('root')); // e renderizamos a aplicação no navegador root.render( <React.StrictMode> <App /> </React.StrictMode> ); Execute a aplicação React, digite um nome na caixa de texto e clique o botão Atualizar Estado. Somente neste momento é que o conteúdo da caixa de texto será transferido para o estado nomeAtualizado e refletido no elemento <h2>. |
Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como acessar variáveis de instâncias para escrita em Ruby sem a necessidade de métodos mutatórios usando a função attr_accessorQuantidade de visualizações: 6887 vezes |
Por padrão, variáveis de instância em Ruby só podem ser acessadas para escrita usando métodos mutatórios, ou seja, uma variável de instância @nome deve ser modificada usando um método definir_nome. É possível dispensar o uso de métodos mutatórios empregando o método attr_accessor nos nomes das variáveis que poderão ser acessadas e modificadas. Lembre-se que, ao contrário de attr_reader, o método attr_accessor possibilita o acesso à variável de instância tanto para leitura quanto para escrita. Veja um exemplo: # Definição da classe Cliente class Cliente attr_accessor :nome, :idade def initialize(nome, idade) @nome = nome @idade = idade end end # Cria uma instância da classe Cliente e inicializa as # variáveis de instância @nome e @idade cliente = Cliente.new("Osmar J. Silva", 35) # Acessa as variáveis de instância sem a necessidade # de métodos acessórios puts cliente.nome puts cliente.idade # Modifica as variáveis de instância sem a necessidade # de métodos mutatórios cliente.nome = "Carlos da Silva" cliente.idade = 56 # Obtém os resultados puts cliente.nome puts cliente.idade Se tentarmos acessar e modificar as variáveis nome e idade diretamente, sem os métodos mutatórios e a função attr_accessor nós teremos um erro do tipo: Traceback (most recent call last): estudos.arb:15:in `<main>': undefined method `nome' for #<Cliente:0x0000029a7211f080 @nome="Osmar J. Silva", @idade=35> (NoMethodError) |
Desafios, Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
Dicas e truques de outras linguagens |
Delphi - Como calcular o cateto oposto dadas as medidas da hipotenusa e do cateto adjascente em Delphi |
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 |