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: JSF - Java Server Faces ::: Dicas & Truques ::: Anotações JSF (Annotations) |
|
Usando a anotação @ManagedBean para transformar uma classe Java em um bean JSF gerenciávelQuantidade de visualizações: 4562 vezes |
|
Antes da adoção das anotações (annotations) no JSF 2.0, se quisessemos usar uma classe Java como um bean JSF gerenciável, era necessário declará-lo usando um elemento <managed-bean> no arquivo faces-config.xml. Veja um exemplo:<managed-bean> <managed-bean-name>usuarioBean</managed-bean-name> <managed-bean-class>estudos.UsuarioBean</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> </managed-bean> Aqui nós declaramos um bean gerenciado chamado usuarioBean, informamos o nome da classe (juntamente com o pacote) e declaramos o escopo como session. Para cada bean gerenciado tínhamos que usar um elemento <managed-bean>. A anotação @ManagedBean simplifica um pouco mais este trabalho. Em vez de declararmos os beans gerenciados no arquivo faces-config.xml nós o fazemos diretamente na classe que vai ser usada como bean. Veja: package entidades; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean @SessionScoped public class Produto { private int codigo; private String descricao; private double preco; private int quantidade; public Produto() { } public int getCodigo() { return codigo; } public void setCodigo(int codigo) { this.codigo = codigo; } public String getDescricao() { return descricao; } public void setDescricao(String descricao) { this.descricao = descricao; } public double getPreco() { return preco; } public void setPreco(double preco) { this.preco = preco; } public int getQuantidade() { return quantidade; } public void setQuantidade(int quantidade) { this.quantidade = quantidade; } } Aqui nós temos uma classe Produto que usa a anotação @ManagedBean para se declarar um bean gerenciado. Note ainda o uso da anotação @SessionScoped para informar que o bean estará em escopo de sessão. Mas, como o nome do bean deverá ser referenciado? Quando não informamos o nome do bean na anotação @ManagedBean, o JSF converterá a primeira letra do nome da classe para minúscula. Assim, o nome do bean Produto será simplesmente produto. É claro que haverá situações nas quais gostaríamos de definir um nome diferente para o bean. Veja como isso pode ser feito: @ManagedBean(name="meuProduto") Agora o bean Produto deverá ser referenciado pelo nome "meuProduto". |
|
Link para compartilhar na Internet ou com seus amigos: | |
C ::: C para Engenharia ::: Física - Mecânica |
Como calcular o tempo de queda livre de um corpo dada a altura da queda e a aceleração da gravidade usando a linguagem CQuantidade de visualizações: 2668 vezes |
Galileu Galilei fez experimentos para comprovar que o tempo de queda dos objetos não depende de sua massa. Esse importante estudioso abandonava objetos de massas diferentes do alto da torre de Pisa e verificava que o tempo para atingirem o solo sempre era o mesmo para todos os casos. No Movimento Uniformemente Variado (MUV), o tempo de queda livre de um corpo, quando temos a altura na qual o objeto é abandonado, pode ser calculado por meio da fórmula: \[ \text{t} = \sqrt{\frac{\text{2} \cdot \text{H}}{\text{g}}} \] Onde: t ? tempo da queda (em segundos). H ? altura em metros na qual o corpo é abandonado. g ? aceleração da gravidade (m/s2). Vamos ver um exemplo? Veja o seguinte enunciado: 1) Um tijolo é largado de uma construção há 10 metros de altura. Calcule o tempo de sua queda, ou seja, o tempo imediatamente antes de o corpo (o tijolo) tocar o chão. Veja que temos a altura de 10 metros e já sabemos que a aceleração da gravidade terrestre é 9.80665. Assim, tudo que temos que fazer é jogar esses valores na fórmula. Veja o código C completo para este cálculo: #include <stdio.h> #include <stdlib.h> #include <math.h> int main(int argc, char *argv[]){ // gravidade terrestre em m/s2 float gravidade = 9.80665; // altura da queda float altura = 10; // em metros // vamos calcular o tempo da queda (em segundos) float tempo_queda = sqrt((2 * altura) / gravidade); // mostramos o resultado printf("O tempo da queda livre é: %f segundos", tempo_queda); printf("\n\n"); system("PAUSE"); return 0; } Ao executar este código C nós teremos o seguinte resultado: O tempo da queda livre é: 1.428087 segundos. |
Python ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a equação reduzida da reta em Python dados dois pontos pertencentes à retaQuantidade de visualizações: 2493 vezes |
Nesta dica de Python veremos como calcular a equação reduzida da reta quando temos dois pontos pertencentes à esta reta. Não, nessa dica não vamos calcular a equação geral da reta, apenas a equação reduzida. Em outras dicas do site você encontra como como isso pode ser feito. Para relembrar: a equação reduzida da reta é y = mx + n, em que x e y são, respectivamente, a variável independente e a variável dependente; m é o coeficiente angular, e n é o coeficiente linear. Além disso, m e n são números reais. Com a equação reduzida da reta, é possível calcular quais são os pontos que pertencem a essa reta e quais não pertencem. Vamos começar então analisando a seguinte figura, na qual temos dois pontos que pertencem à uma reta: Note que a reta da figura passa pelos pontos A(5, 5) e B(9, 2). Então, uma vez que já temos os dois pontos, já podemos calcular a equação reduzida da reta. Veja o código Python completo para esta tarefa: # método principal def main(): # vamos ler as coordenadas do primeiro ponto x1 = float(input("Coordenada x do primeiro ponto: ")) y1 = float(input("Coordenada y do primeiro ponto: ")) # vamos ler as coordenadas do segundo ponto x2 = float(input("Coordenada x do segundo ponto: ")) y2 = float(input("Coordenada y do segundo ponto: ")) sinal = "+" # vamos calcular o coeficiente angular da reta m = (y2 - y1) / (x2 - x1) # vamos calcular o coeficiente linear n = y1 - (m * x1) # coeficiente linear menor que zero? O sinal será negativo if (n < 0): sinal = "-" n = n * -1 # mostra a equação reduzida da reta print("Equação reduzida: y = %.2fx %s %.2f" % (m, sinal, n)) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: Coordenada x do primeiro ponto: 5 Coordenada y do primeiro ponto: 5 Coordenada x do segundo ponto: 9 Coordenada y do segundo ponto: 2 Equação reduzida: y = -0,75x + 8,75 Para testarmos se nossa equação reduzida da reta está realmente correta, considere o valor 3 para o eixo x da imagem acima. Ao efetuarmos o cálculo: >> y = (-0.75 * 3) + 8.75 y = 6.5000 temos o valor 6.5 para o eixo y, o que faz com que o novo ponto caia exatamente em cima da reta considerada na imagem. |
Python ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Python para iniciantes - Como usar a instrução break em PythonQuantidade de visualizações: 10268 vezes |
A instrução break da linguagem Python é usada para interromper a execução de um laço for ou while. Observe que se o laço possuir um bloco else, este não será executado se a instrução break for usada. Veja um exemplo de um laço for que é interrompido se o valor da variável de controle for 5: # função principal do programa def main(): for i in range(0, 21): print(i) if i == 5: break if __name__== "__main__": main() Ao executarmos este código nós teremos o seguinte resultado: 0 1 2 3 4 5 |
C++ ::: Fundamentos da Linguagem ::: Tipos de Dados |
Como usar o tipo de dados long ou long int da linguagem C++Quantidade de visualizações: 21953 vezes |
O tipo de dados long (também chamado de long int) da linguagem C++ é uma variação do tipo int e geralmente possui a mesma capacidade de armazenamento deste. Nós o usamos quando queremos representar números inteiros, ou seja, sem partes fracionárias, assim como int. É importante verificar se o seu compilador trata int e long da mesma forma. Veja um trecho de código demonstrando o uso deste tipo (note que estes estudos foram feitos no Windows XP - 32 bits - usando Dev-C++):#include <iostream> using namespace std; int main(int argc, char *argv[]){ // declara uma variável do tipo long long quant = 590; cout << "Quantidade: " << quant << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Veja que a maioria dos compiladores C++ não faz distinção entre os tipos long e long int. A capacidade de armazenamento do tipo long depende da arquitetura na qual o programa está sendo executado. Uma forma muito comum de descobrir esta capacidade é usar os símbolos LONG_MIN e LONG_MAX, definidos no header climits (limits.h). Veja: #include <iostream> using namespace std; int main(int argc, char *argv[]){ cout << "Valor mínimo: " << LONG_MIN << "\n"; cout << "Valor máximo: " << LONG_MAX << "\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Ao executar este programa você terá um resultado parecido com: Valor mínimo: -2147483648 Valor máximo: 2147483647 Veja que o tipo long aceita valores positivos e negativos. Tudo que você tem a fazer é tomar todo o cuidado para que os valores atribuidos a variáveis deste tipo não ultrapassem a faixa permitida. Veja um trecho de código que provoca o que chamamos de transbordamento (overflow): #include <iostream> using namespace std; int main(int argc, char *argv[]){ long soma = LONG_MAX + 2; cout << "Resultado: " << soma << "\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } Este programa exibirá o seguinte resultado: Resultado: -2147483647 Note que este não é o resultado esperado, visto que LONG_MAX + 2 deveria retornar: 2147483647 + 2 = 2147483649 Porém, como o valor máximo que pode ser armazenado em um long é 2147483647, o procedimento adotado pelo compilador foi tornar o número negativo e subtrair 1. É claro que, se você testar este código em arquiteturas diferentes o resultado poderá ser diferente do exemplificado aqui. Em termos de bytes, é comum o tipo long ser armazenado em 4 bytes, o que resulta em 32 bits (um byte é formado por 8 bits, lembra?). Veja um trecho de código que mostra como usar o operador sizeof() para determinar a quantidade de bytes necessários para armazenar um variável do tipo long: #include <iostream> using namespace std; int main(int argc, char *argv[]){ cout << "Tamanho de um long: " << sizeof(long) << " bytes\n\n"; system("PAUSE"); // pausa o programa return EXIT_SUCCESS; } O resultado da execução deste código será algo como: Tamanho de um long: 4 bytes |
Java ::: Coleções (Collections) ::: ArrayList |
Como pesquisar valores em uma ArrayList do Java usando a função indexOf() - Coleção Java para iniciantesQuantidade de visualizações: 16403 vezes |
Nesta dica eu mostrarei como podemos usar o método indexOf() para verificar a existência de um valor em uma ArrayList. Se o ítem for encontrado, seu índice (começando em 0) é retornado, do contrário o valor retornado é -1. Veja o código Java completo para o exemplo: package arquivodecodigos; 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"); // Verifica se o valor "Osmar" existe na // ArrayList int indice = nomes.indexOf("Osmar"); if(indice == -1){ System.out.println("O valor pesquisado não foi encontrado."); } else{ System.out.println("O valor foi encontrado no índice: " + indice); } System.exit(0); } } Ao executar este código nós teremos o seguinte resultado: O valor foi encontrado no índice: 3 |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
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 |