Você está aqui: Cards de Engenharia Civil - Fundações |
||
|
||
![]() |
||
jQuery ::: Dicas & Truques ::: Manipulação e Conteúdo Dinâmico |
Como definir o conteúdo HTML de um elemento usando a função html() do jQueryQuantidade de visualizações: 7775 vezes |
O método html("conteúdo") permite definir o conteúdo (innerHTML) de todos os elementos encontrados em uma determinada condição. Considere os seguintes elementos P:<p>Sou o primeiro parágrafo</p> <p>Sou o segundo parágrafo</p> Veja agora o código JavaScript que define o conteúdo HTML destes dois parágrafos: <script type="text/javascript"> <!-- function definirInnerHTML(){ var texto = "<b>Veja este texto</b>"; // define o conteúdo para os elementos P $('p').html(texto); } //--> </script> Lembre, porém, que a prática mais comum é definir o conteúdo HTML de um elemento identificado por um id. O retorno deste método é um objeto jQuery, que pode ser usado para possíveis encadeamentos de chamadas de métodos. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arquivos e Diretórios |
Exercícios Resolvidos de Java - Um programa que recebe um caminho e nome de um arquivo e retorna apenas o caminho, sem o nome e extensão do arquivoQuantidade de visualizações: 7491 vezes |
Pergunta/Tarefa: Escreva um método Java que recebe um caminho e nome de arquivo na forma: "C:\temporario\Java\dica.txt" e retorne apenas o caminho do arquivo, sem o nome e extensão do arquivo. Assim, para o caminho acima, o retorno deve ser apenas: "C:\temporario\Java" Eis a assinatura do método a ser criado: public static String getCaminho(String caminho); Resposta/Solução: Veja a resolução comentada deste exercício usando Java console: package estudos; import java.io.File; public class Main { public static void main(String[] args) { // define um caminho e nome de arquivo String caminho = "C:\\temporario\\Java\\dica.txt"; // vamos retornar apenas o caminho do arquivo, ou seja, retirar o // nome do arquivo String caminhoFinal = getCaminho(caminho); // vamos mostrar o resultado System.out.println("O caminho do arquivo é: " + caminhoFinal); } public static String getCaminho(String caminho){ // vamos obter o índice da última ocorrência do separador de caminho int pos = caminho.lastIndexOf(File.separatorChar); if (pos > -1) { return caminho.substring(0, pos); } // por padrão vamos retornar uma string vazia return ""; } } Uma variação deste exercício é a criação de um método que recebe o caminho e nome do arquivo e retorne apenas o nome do arquivo, seguido por sua extensão. |
Java ::: Tratamento de Erros ::: Passos Iniciais |
Como usar try catch em Java - Aprenda a tratar erros em Java usando o bloco try...catchQuantidade de visualizações: 39889 vezes |
A forma mais comum de tratar e se recuperar de erros em uma aplicação Java é usando o bloco try...catch. Todo o código que apresenta a possibilidade de erros ou falhas é colocado em um bloco try. E o código a ser executado caso o erro ou falha aconteça é colocado em um bloco catch. Veja a sintáxe:try{ // código que pode provocar erros } catch(Tipo_Exceção nome){ // tratamento do erro } A palavra-chave catch é seguida por uma declaração do tipo de exceção sendo lançada. É aqui que entram detalhes interessantes. Antes de tratar um erro, é preciso que você saiba qual erro estará tratando. Em Java temos três tipos de erros: runtime exceptions, checked exceptions e errors. Errors não precisam ser tratados com bloco try...catch, runtime exceptions (erros causados por códigos mal escritos ou mal testados) opcionalmente usam try...catch e checked exceptions (erros que fogem ao controle do programador) devem obrigatoriamente usar try...catch. Vamos ver um exemplo do uso de try...catch: import java.io.*; public class Estudos{ public static void main(String[] args){ try{ DataInputStream in = new DataInputStream( new BufferedInputStream( new FileInputStream("conteudo.txt"))); while(in.available() != 0) System.out.print((char) in.readByte()); } catch(IOException e){ System.out.print(e.getMessage()); } System.exit(0); } } Neste trecho de código nós tentamos ler o conteúdo de um arquivo. O que aconteceria se o arquivo não existisse? O programa entraria em colapso. Além disso, todas as operações de entrada e saída (IO) estão suscetíveis a falhas externas. Por esta razão, o compilador nos força a usar try...catch nestas situações. Neste exemplo podemos ver que o bloco catch é seguido por uma definição da classe IOException. No entanto, este trecho de código pode também disparar a exceção FileNotFoundException. Olhando a documentação vemos que FileNotFoundException herda de IOException, que por sua vez herda de Exception. Isso nos mostra que, se não estivermos certos de qual exceção será lançada, podemos usar a superclasse Exception e usarmos o método getMessage() ou demais métodos para obter maiores informações sobre o erro. Vamos ver mais um exemplo de try...catch. Desta vez veremos como evitar uma exceção StringIndexOutOfBoundsException: import java.util.*; public class Estudos{ public static void main(String[] args){ String palavra = "Java"; Scanner in = new Scanner(System.in); System.out.print("Informe um inteiro: "); int indice = in.nextInt(); try{ System.out.println("O caractere no índice " + "informado é " + palavra.charAt(indice)); } catch(StringIndexOutOfBoundsException e){ System.out.println("Erro:" + e.getMessage()); } } } Compile, execute este código e forneça um inteiro maior que 3 para ver o resultado. |
PHP ::: PHP + MySQL ::: MySQL (mysql) |
Como criar um arquivo de conexão PHP + MySQL e incluí-lo nas demais páginas PHP do seu projeto - Atualizado - Somente PHP 5.6 e anterioresQuantidade de visualizações: 13272 vezes |
É sempre uma boa idéia centralizar todos os parâmetros da conexão PHP + MySQL em apenas um arquivo e usar require() para incluí-lo nas demais páginas da aplicação. Se fizermos isso, não precisaremos efetuar alterações em todas as páginas caso o nome de usuário ou senha da conexão seja alterada. 1 - Comece criando o arquivo PHP que contém os parâmetros de conexão. Uma boa idéia é usar um método que retorne uma conexão com o banco de dados. Veja o código para conexao.php: <? function obter_conexao_php_mysql(){ // Parâmetros de conexão $server = "localhost"; $usuario = "root"; $senha = "osmar1234"; $base = "estudos"; // Tenta efetuar a conexão $conexao = mysql_connect($server, $usuario, $senha); // Testa se a conexão foi efetuada com sucesso if(!$conexao) die('Falha ao conectar: ' . mysql_error()); // conexão efetuada com sucesso. Podemos definir qual // base de dados será usada $db_selected = mysql_select_db($base, $conexao); // testa se a base foi selecionada com sucesso. if(!$db_selected) die("Falha ao selecionar o banco: " . mysql_error()); return $conexao; } function fechar_conexao_php_mysql($conn){ mysql_close($conn); } ?> Agora este arquivo de conexão pode ser importado para as demais página da seguinte forma: <? require("conexao.php"); // obtém a conexão com o banco MySQL $conexao = obter_conexao_php_mysql(); /* Outros códigos de manipulação dos dados no banco de dados vão aqui */ // fecha a conexão fechar_conexao_php_mysql($conexao); ?> Atenção usuários Windows + XAMPP: Se você estiver recebendo a mensagem abaixo, certifique-se de que a linha extension=php_mysql.dll Está descomentada no seu PHP.ini. Fatal error: Uncaught Error: Call to undefined function mysql_connect() in conexao.php:10 Stack trace: #0 conexao.php(32): obter_conexao_php_mysql() #1 {main} thrown in conexao.php on line 10 Se você estiver usando uma versão do PHP superior a 5.6, este erro também ocorrerá e você terá que voltar sua aplicação para um PHP mais anterior ou mudar seus códigos de conexão para PDO ou MySQL Improved Extension (mysqli). |
Java ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Como implementar a ordenação Quicksort em Java - Apostila de Java para iniciantesQuantidade de visualizações: 389 vezes |
A ordenação Quicksort é um dos algorítmos de ordenação mais encontrados em aplicações reais de programação. No Delphi esta ordenação é encontrada no objeto TList. No Java podemos encontrá-lo no método Arrays.sort(). Na linguagem C a ordenação Quicksort é implementada na função qsort() da biblioteca padrão. O algoritmo de ordenação Quicksort é do tipo dividir para conquistar (divide-and-conquer principle). Neste tipo de algoritmo o problema é dividido em sub-problemas e a solução é concatenada quando as chamadas recursivas atingirem o caso base. O vetor (ou array) a ser ordenado é dividido em duas sub-listas por um elemento chamado pivô, resultando em uma lista com elementos menores que o pivô e outra lista com os elementos maiores que o pivô. Esse processo é repetido para cada chamada recursiva. Sim, a ordenação Quicksort faz uso extensivo de recursividade, razão pela qual devemos ter muito cuidado para não estourar a pilha do sistema. Existem muitos estudos sobre o pivô ideal para a ordenação Quicksort. Nessa dica adotarei o último elemento do array ou sub-array como pivô. Em vetores não ordenados essa estratégia, em geral, resulta em uma boa escolha. Vamos ao código Java então? Veja um programa Java completo demonstrando o uso da ordenação Quicksort para um array de 10 elementos inteiros: package estudos; import java.util.Scanner; public class Estudos { public static void main(String[] args) { // vamos declarar um array de 10 elementos int valores[] = new int[10]; // para ler a entrada do usuário Scanner entrada = new Scanner(System.in); // vamos pedir ao usuário para informar os valores para o vetor for(int i = 0; i < valores.length; i++){ System.out.print("Informe o valor do elemento " + i + ": "); valores[i] = Integer.parseInt(entrada.nextLine()); } // vamos mostrar o array informado System.out.println("\nO array informado foi:\n"); for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + " "); } // vamos ordenar o vetor usando a ordenação Quicksort quickSort(valores, 0, valores.length - 1); System.out.println("\n\nO array ordenado é:\n"); for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + " "); } System.out.println("\n\n"); } // função de implementação da ordenação Quicksort public static void quickSort(int vetor[], int inicio, int fim) { // o início é menor que o fim? if (inicio < fim) { // vamos obter o novo índice da partição int indiceParticao = particionar(vetor, inicio, fim); // efetuamos novas chamadas recursivas quickSort(vetor, inicio, indiceParticao - 1); quickSort(vetor, indiceParticao + 1, fim); } } // função que retorna o índice de partição private static int particionar(int vetor[], int inicio, int fim) { // para guardar o pivô int pivot = vetor[fim]; int i = (inicio - 1); for (int j = inicio; j < fim; j++) { if (vetor[j] <= pivot) { i++; // fazemos a troca int temp = vetor[i]; vetor[i] = vetor[j]; vetor[j] = temp; } } // efetua a troca int temp = vetor[i + 1]; vetor[i + 1] = vetor[fim]; vetor[fim] = temp; return i + 1; } } Ao executar este código Java nós teremos o seguinte resultado: Informe o valor do elemento 0: 7 Informe o valor do elemento 1: 2 Informe o valor do elemento 2: 43 Informe o valor do elemento 3: 1 Informe o valor do elemento 4: 9 Informe o valor do elemento 5: 6 Informe o valor do elemento 6: 22 Informe o valor do elemento 7: 3 Informe o valor do elemento 8: 37 Informe o valor do elemento 9: 5 O array informado foi: 7 2 43 1 9 6 22 3 37 5 O array ordenado é: 1 2 3 5 6 7 9 22 37 43 |
Desafios, 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 |