Você está aqui: Cards de Engenharia Civil - Construção Civil |
||
|
||
|
|
||
C# ::: Dicas & Truques ::: Tipos de Dados |
Curso de C# - Como usar os tipos de dados short e ushort da linguagem C#Quantidade de visualizações: 9472 vezes |
|
O tipo de dados short é um tipo primitivo integral com sinal (signed) que pode armazenar valores inteiros na faixa de -32.768 até 32.767. Este tipo ocupa 16 bits (2 bytes) de memória e é um apelido para o tipo System.Int16 da plataforma .NET. Podemos obter os valores mínimo e máximo que podem ser armazenados em um short por meio de suas propriedades MinValue e MaxValue. Veja:
static void Main(string[] args){
// vamos obter o valor mínimo de um short
short minimo = short.MinValue;
// vamos obter o valor máximo de um short
short maximo = short.MaxValue;
// vamos mostrar o resultado
Console.WriteLine("A faixa de valores de um short é: " + minimo +
" até " + maximo);
// vamos pausar a execução
Console.ReadKey();
}
Ao executarmos este código teremos o seguinte resultado: A faixa de valores de um short é: -32768 até 32767. Ao atribuir valores para um short em tempo de design, ou seja, como um literal, devemos ter o cuidado de não atribuir valores que estejam fora da faixa permitida. Veja:
static void Main(string[] args){
// a linha abaixo não vai compilar
short valor = 35767;
// vamos pausar a execução
Console.ReadKey();
}
Este código não compila. A mensagem de erro: Constant value '35767' cannot be converted to a 'short' nos informa que o valor 35767 (que está acima da faixa permitida) não pode ser convertido para um short. Assim, se você desejar mesmo efetuar tal procedimento, uma conversão forçada (cast) deve ser feita:
static void Main(string[] args){
int valor = 35767;
// vamos forçar a conversão para short
short valor2 = (short)valor;
// vamos mostrar o resultado
Console.WriteLine("Valor após o cast: " + valor2);
// vamos pausar a execução
Console.ReadKey();
}
Aqui nós "esprememos" o valor 35767 para um short e o resultado, -29769, definitivamente não é o que estávamos esperando. O tipo ushort é um tipo primitivo integral sem sinal (unsigned) que pode armazenar valores inteiros na faixa de 0 até 65.535. Este tipo ocupa 16 bits (2 bytes) de memória e é um apelido para o tipo System.UInt16 da plataforma .NET. Podemos obter os valores mínimo e máximo que podem ser armazenados em um ushort por meio de suas propriedades MinValue e MaxValue. Veja:
static void Main(string[] args){
// vamos obter o valor mínimo de um ushort
ushort minimo = ushort.MinValue;
// vamos obter o valor máximo de um ushort
ushort maximo = ushort.MaxValue;
// vamos mostrar o resultado
Console.WriteLine("A faixa de valores de um ushort é: " + minimo +
" até " + maximo);
// vamos pausar a execução
Console.ReadKey();
}
Ao executarmos este código teremos o seguinte resultado: A faixa de valores de um ushort é: 0 até 65535. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Um método recursivo que recebe uma String e retorna a quantidade de letras maiúsculas encontradasQuantidade de visualizações: 6160 vezes |
|
Pergunta/Tarefa: Escreva um método recursivo que recebe uma palavra ou frase e retorna a quantidade de caracteres (letras) maiúsculos. Seu método deverá possuir a seguinte assinatura:
public static int contarMaiusculas(String frase){
// sua implementação aqui
}
Sua saída deverá ser parecida com: Digite uma palavra ou frase: Arquivo de Códigos A palavra ou frase contém 2 letras maiúsculas Veja a resolução comentada deste exercício usando Java console: Observação importante: Este código criará uma cadeia de chamadas recursivas. Cada chamada ao método contarMaiusculas() receberá uma cópia menor da palavra ou frase fornecida. Quando a última chamada recursiva do método receber uma string vazia, a cadeia começa a retornar. Note que os valores acumulados nas várias chamadas ao método vão sendo acumulados na variável quantidade.
package exercicio;
import java.util.Scanner;
public class Exercicio {
public static void main(String[] args) {
// cria um novo objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// solicita uma palavra ou frase ao usuário
System.out.print("Digite uma palavra ou frase: ");
// lê a palavra ou frase
String frase = entrada.nextLine();
int quantMaiusculas = contarMaiusculas(frase);
System.out.println("A palavra ou frase contém " + quantMaiusculas +
" letras maiúsculas");
}
// método recursivo que recebe uma palavra ou frase e retorna
// a quantidade de letras maiúsculas
public static int contarMaiusculas(String frase){
/* Este código criará uma cadeia de chamadas recursivas. Cada
* chamada ao método contarMaiusculas() receberá uma cópia menor
* da palavra ou frase fornecida. Quando a última chamada recursiva do
* método receber uma string vazia, a cadeia começa a retornar. Note
* que os valores acumulados nas várias chamadas ao método vão sendo
* acumulados na variável quantidade
*/
int quantidade = 0;
// o tamanho da string é maior que 0?
if(frase.length() > 0){
if(Character.isUpperCase(frase.charAt(0))){
quantidade = 1 + contarMaiusculas(frase.substring(1));
}
else{
quantidade = contarMaiusculas(frase.substring(1));
}
}
return quantidade;
}
}
|
Angular ::: Dicas & Truques ::: Diretivas Angular |
Angular para iniciantes: Como usar a diretiva ngFor do Angular para percorrer e exibir os itens de vetores e listasQuantidade de visualizações: 5565 vezes |
|
A diretiva ngFor do Angular é usada quando precisamos percorrer os elementos de um vetor (ou lista) de tipos primitivos ou objetos de classes. Dessa forma, para cada elemento da lista nós podemos definir o bloco HTML que determinará como o elemento individual será renderizado. Vamos ver um exemplo bem simples? Comece criando uma nova aplicação Angular. Abra uma janela de terminal e dispare um comando Angular CLI parecido com: c:\docs_osmar>cd c:\estudos_angular c:\estudos_angular>ng new escola Aqui nós estamos criando uma aplicação Angular com o nome escola. Nesse momento o CLI já criou para nós os seguintes arquivos: app.component.css, app.component.html, app.component.spec.ts, app.component.ts, app.module.ts. Estou usando Angular 11. Dependendo da sua versão, pode ser que sua lista de arquivos seja um pouco diferente. Antes de continuarmos, vamos deixar a aplicação executando. Então, dispare o comando abaixo para executar a aplicação no navegador: c:\estudos_angular>cd escola c:\estudos_angular\escola>ng serve --open Rodou sem problemas? Agora vamos ao nosso primeiro exemplo da diretiva ngFor. Abra o arquivo app.component.ts no seu editor de código favorito e altere o seu código para a versão abaixo:
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
linguagens: string[];
constructor() {
this.linguagens = ["Java", "C++", "Delphi", "PHP", "Perl"];
}
}
Veja que temos um vetor de string contendo o nome de cinco linguagens de programação. Agora vamos usar a diretiva ngFor para receber esta lista no template HTML e exibir seus itens individuais. Para isso, abra o arquivo app.component.html e altere o seu código para:
<h2>Minhas linguagens favoritas:</h2>
<ul *ngFor="let linguagem of linguagens">
<li>{{ linguagem }}</li>
</ul>
Veja que coloquei a diretiva ngFor como parte de um elemento HTML <ul> e, para cada item do vetor, nós criamos um novo elemento <li>. Aqui nós usamos o elemento <ul>, mas você pode usar uma <div> ou até mesmo <tr> e <td> para exibir o item como linha de uma tabela. Execute a aplicação no navegador e você terá o seguinte resultado: ![]() A instrução "let linguagem of linguagens" quer dizer: pegue os elementos individuais do vetor linguagens e associe, durante a iteração, o elemento atual à variável linguagem. Depois disso só precisamos usar as tags de template {{ linguagem }} para exibir o valor de cada elemento de forma individual. Mas a diretiva ngFor oferece alguns recursos extras. Não deixe de acompanhar as outras dicas e truques dessa seção. |
jQuery ::: Dicas & Truques ::: Atributos ou Propriedades HTML |
Apostila jQuery - Como verificar se um elemento HTML pertence a uma determinada classe usando a função hasClass() do jQueryQuantidade de visualizações: 624 vezes |
Muitas vezes precisamos saber se um elemento HTML pertence a uma determinada classe CSS. Isso pode ser feito com o auxílio do método hasClass() da biblioteca jQuery. Basta passarmos a classe CSS que queremos verificar. Veja como usá-lo no trecho de código abaixo:
<script type="text/javascript">
<!--
function pertenceClass(){
// testa se o parágrafo com o id "parag"
// pertence à classe "destaque"
if($('#parag').hasClass("destaque"))
window.alert("Pertence à classe destaque");
else
window.alert("NÃO pertence à classe destaque");
}
//-->
</script>
O retorno deste método é um valor boolean (true ou false). |
Java ::: Java + MySQL ::: Metadados da Base de Dados (Database Metadata) |
Java MySQL - Como obter os tipos de tabelas suportados pelo MySQL usando o método getTableTypes() da classe DatabaseMetaDataQuantidade de visualizações: 5614 vezes |
|
Em algumas situações precisamos obter os tipos de tabelas suportados por uma determinada versão do MySQL. Isso pode ser feito com uma chamada ao método getTableTypes() da classe com.mysql.jdbc.DatabaseMetaData. Um objeto desta classe é obtido a partir do método getMetaData() da interface Connection (para o driver com.mysql.jdbc.Driver, é claro). A assinatura do método getTableTypes() é: public ResultSet getTableTypes() throws SQLException Vamos ver um exemplo? Veja um trecho de código que usei para listar os tipos de tabelas disponíveis no MySQL 5.0:
package estudosbancodados;
import java.sql.*;
public class EstudosBancoDados{
public static void main(String[] args) {
// strings de conexão
String databaseURL = "jdbc:mysql://localhost/estudos";
String usuario = "root";
String senha = "osmar1234";
String driverName = "com.mysql.jdbc.Driver";
try {
Class.forName(driverName).newInstance();
Connection conn = DriverManager.getConnection(databaseURL, usuario, senha);
// vamos obter um objeto da classe com.mysql.jdbc.DatabaseMetaData
DatabaseMetaData dbmd = conn.getMetaData();
// vamos obter os tipos de tabelas suportadas por esta versão do MySQL
ResultSet tiposTabelas = dbmd.getTableTypes();
while(tiposTabelas.next()){
System.out.println(tiposTabelas.getString("TABLE_TYPE"));
}
// vamos fechar o ResultSet
tiposTabelas.close();
}
catch (SQLException ex) {
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
catch (Exception e) {
System.out.println("Problemas ao tentar conectar com o banco de dados: " + e);
}
}
}
O resultado da execução deste código foi: TABLE VIEW LOCAL TEMPORARY |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
|
AutoLISP - Como desenhar uma linha no AutoCAD usando AutoLISP - Dois pontos geométricos e o comando LINE Delphi - Como usar o controle TStringGrid em suas aplicações Delphi - O componente TStringGrid do Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |






