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: JSP (Java Server Pages) ::: Dicas de Estudo e Anotações ::: Passos Iniciais |
|
Aprenda a importar suas próprias classes para uma página JSPQuantidade de visualizações: 12083 vezes |
|
Vimos em dicas anteriores que pacotes de classes ou classes individuais podem ser importados para uma página JSP usando-se o atributo import na diretiva de página: <%@ page import="java.util.*" %> Neste tópico veremos como é possível criar nossas próprias classes e usá-las em uma página JSP. Será um bom exercício antes de estudarmos JavaBeans. Comece escrevendo a seguinte classe: Código para Estados.java: package estudos; public class Estados{ String selecionado; String estados[] = {"GO", "MT", "SP", "RJ", "TO", "MA", "RS", "MG", "CE", "SC"}; public Estados(String sel){ selecionado = sel; } public Estados(){ selecionado = estados[0]; } public String toString(){ String html = "<select name="estado"> "; for(int i = 0; i < estados.length; i++){ if(estados[i].equals(selecionado)) html += " <option value="" + estados[i] + "" selected>" + estados[i] + "</option> "; else html += " <option value="" + estados[i] + "">" + estados[i] + "</option> "; } html += "</select>"; return html; } } package estudos; Assim, nossa primeira preocupação é como disponibilizar a classe de modo que a aplicação web a encontre. Nada muito complicado. Tudo que você tem a fazer é criar um diretório chamado estudos dentro do diretório classes que está contido no diretório WEB-INF de sua aplicação web. Agora copie o arquivo Estados.class para o diretório recém-criado. Nota: Se você fizer alterações na classe depois de esta ser disponibilizada para o container, pode haver a necessidade de reiniciar a aplicação web para que as alterações sejam refletidas. Visite www.recomende.com para aprender como fazer isso no Tomcat. O nome de nossa classe personalizada é Estudos e servirá para montar um elemento HTML select contendo os nomes de todos os estados. Esta classe contém duas variáveis globais. A primeira é apenas uma String que armazenará o valor do estado que deverá aparecer selecionado no elemento select: String selecionado; A segunda variável é um array do tipo String contendo os estados a serem mostrados no elemento: String estados[] = {"GO", "MT", "SP", "RJ", "TO", "MA", "RS", "MG", "CE", "SC"}; O primeiro construtor da classe receberá como argumento o estado que deverá estar selecionado e o fornecerá à variável global selecionado: public Estados(String sel){ selecionado = sel; } public Estados(){ selecionado = estados[0]; } String html = "<select name="estado"> "; cria uma variável chamada html e define como seu valor a tag de abertura do elemento select. Fique atento ao uso da barra de escape "" para preservar as aspas que circundam os valores fornecidos aos atributos do elemento. A quebra de linha não é obrigatória. Ela apenas ajudará na formatação do código fonte da página. Em seguida temos um laço for que é executado uma vez para cada elemento do array estados: for(int i = 0; i < estados.length; i++){ // o código do laço vai aqui } if(estados[i].equals(selecionado)) html += " <option value="" + estados[i] + "" selected>" + estados[i] + "</option> "; else html += " <option value="" + estados[i] + "">" + estados[i] + "</option> "; A linha: return html; Devolverá à página JSP o conteúdo HTML a ser exibido. Pronto. A classe já está criada. Agora é hora de testá-la em uma página JSP. Veja o código: Código para testar_classe.jsp: <%@ page language="java" import="estudos.*" %> <html> <head> <title>Importando classes personalizadas</title> </head> <body> <form> Selecione o Estado: <%= new Estados("MT") %> </form> </body> </html> Veja como a classe é importada: <%@ page language="java" import="estudos.*" %> Aqui estamos importando todo o pacote estudos. Se quiser importar apenas a classe Estados, basta alterar a diretiva para: <%@ page language="java" import="estudos.Estados" %> Observe agora a expressão JSP usada para exibir os estados na página: <%= new Estados("MT") %> Tudo que fizemos aqui foi construir uma instancia da classe Estados e fornecer o valor que deverá aparecer selecionado no elemento select. Experimente construir uma instancia usando o construtor padrão (sem argumentos): <%= new Estados() %> Estude bastante este tópico. Será o ponto de partida para o uso de JavaBeans e construções de bibliotecas de tags personalizadas. |
|
Link para compartilhar na Internet ou com seus amigos: | |
GoLang ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular a equação reduzida da reta em GoLang dados dois pontos pertencentes à retaQuantidade de visualizações: 642 vezes |
Nesta dica de Go 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 GoLang completo para esta tarefa: // pacote principal package main // vamos importar o módulo de formatação de // entrada e saída import "fmt" // esta é a função principal do programa func main() { // variáveis que vamos usar na resolução do problema var x1, y1, x2, y2, m, n float32 var sinal string // vamos ler as coordenadas do primeiro ponto fmt.Print("Coordenada x do primeiro ponto: ") fmt.Scanln(&x1) fmt.Print("Coordenada y do primeiro ponto: ") fmt.Scanln(&y1) // vamos ler as coordenadas do segundo ponto fmt.Print("Coordenada x do segundo ponto: ") fmt.Scanln(&x2) fmt.Print("Coordenada y do segundo ponto: ") fmt.Scanln(&y2) 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 fmt.Printf("Equação reduzida: y = %.2fx %s %.2f", m, sinal, n); } Ao executar este código GoLang 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. |
Java ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como passar vetores e matrizes (arrays) para seus métodos JavaQuantidade de visualizações: 15942 vezes |
Nesta dica mostrarei como você pode passar um array (vetor ou matriz) para seus métodos Java. Observe que um array é um objeto Java, e objetos são sempre passados por referência. Assim, as alterações feitas no vetor ou matriz dentro do método afetarão o array original. Veja o código completo para o exemplo: package arquivodecodigos; public class Estudos{ public static void main(String[] args){ int[] valores = {43, 6, 17, 23, 8}; // Exibe os valores antes de passar o // array para o método multiplicar for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + ", "); } System.out.println(); // fornece o array para o método multiplicar multiplicar(valores, 2); // Exibe os valores depois de passar o // array para o método multiplicar for(int i = 0; i < valores.length; i++){ System.out.print(valores[i] + ", "); } System.exit(0); } public static void multiplicar(int a[], int num){ for(int i = 0; i < a.length; i++){ a[i] = a[i] * num; } } } Ao executar este código nós teremos o seguinte resultado: 43, 6, 17, 23, 8, 86, 12, 34, 46, 16, |
C++ ::: Win32 API (Windows API) ::: Passos Iniciais |
Como usar a função WinMain das aplicações C++ GUI usando a Windows APIQuantidade de visualizações: 9404 vezes |
Cada programa de interface gráfica escrito em C++ e usando a Windows API possui como ponto de entrada de execução, a função WinMain(). Esta função é a equivalente do main() em aplicações console. Veja sua assinatura:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) É possível usar esta função sem a macro WINAPI, ou seja: int WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) O primeiro passo a observar é que esta função deve retornar um valor inteiro quando finalizar. Isso serve para informar ao sistema operacional se algum erro ocorreu durante a tentativa de sua execução. Vejamos agora uma explicação detalhada de seus parâmetros: HINSTANCE hInstance - É um handle para o módulo executável do programa (o arquivo .exe na memória). HINSTANCE hPrevInstance - Sempre NULL para programas Win32. LPSTR lpCmdLine - Os argumentos da linha de comando como uma única string. Não inclui o nome do programa. int nCmdShow - Um valor inteiro que pode ser passado para a função ShowWindow(). hInstance é usado para tarefas tais como carregar recursos ou outras que são realizadas em um módulo. Um módulo é um EXE ou DLL carregada em seu programa. hPrevInstance era usado como um handle para uma instância executada anteriormente no Win16. Este cenário não mais ocorre. Em Win32 podemos ignorar por completo este parâmetro. |
Java ::: Dicas & Truques ::: Gráficos |
Como desenhar em um JComponent do Java Swing (JLabel, JButton, JPanel, etc) usando o método paintComponent()Quantidade de visualizações: 9857 vezes |
A classe JComponent possui um método chamado paintComponent(Graphics g) que recebe um objeto da classe Graphics que pode ser usado para desenhar na superfície do componente. Desta forma, qualquer componente que herda de JComponent pode ser usado para esta finalidade. Para demonstrar como isso é feito, veja um trecho de código no qual desenhamos uma linha em um JLabel e o anexamos à janela do aplicativo. Observe a criação de uma classe personalizada que herda de JLabel: import java.awt.*; import javax.swing.*; public class Estudos extends JFrame{ public Estudos() { super("Desenhando em um JLabel"); Container c = getContentPane(); // Cria o JLabel MinhaLabel label = new MinhaLabel(); c.add(label); setSize(350, 250); setVisible(true); } public static void main(String args[]){ Estudos app = new Estudos(); app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); } } // classe personalizada que permite desenhar class MinhaLabel extends JLabel{ protected void paintComponent(Graphics g){ super.paintComponent(g); g.drawLine(0, 0, 200, 200); } } |
C++ ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Algoritmos Resolvidos de C++ - Escreva um programa C++ que efetue a soma dos elementos da diagonal principal de uma matrizQuantidade de visualizações: 13125 vezes |
Exercício Resolvido de C++ - Escreva um programa C++ que efetue a soma dos elementos da diagonal principal de uma matriz Pergunta/Tarefa: Em álgebra linear, a diagonal principal de uma matriz A é a coleção das entradas Aij em que i é igual a j. A diagonal principal de uma matriz quadrada une o seu canto superior esquerdo ao canto inferior direito (conforme mostrado na saída do problema proposto abaixo). Escreva um programa C++ que declara uma matriz 3x3 e pede ao usuário para informar seus valores. Em seguida mostre todos os valores da matriz e a soma dos elementos da diagonal principal. Sua saída deverá ser parecida com a imagem abaixo: Resposta/Solução: Veja a resolução comentada deste exercício: #include <cstdlib> #include <iostream> #include <iomanip> using namespace std; int main(int argc, char *argv[]) { int matriz[3][3]; // uma matriz de três linhas e três colunas int soma_diagonal = 0; // guarda a soma dos elementos na diagonal principal // vamos ler os valores para os elementos da matriz for(int i = 0; i < 3; i++){ // linhas for(int j = 0; j < 3; j++){ // colunas cout << "Valor para a linha " << i << " e coluna " << j << ": "; cin >> matriz[i][j]; } } // vamos mostrar a matriz da forma que ela foi informada cout << "\n\nValores na matriz\n" << endl; for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ cout << setw(5) << matriz[i][j]; } cout << "\n" << endl; } // vamos calcular a soma dos elementos da diagonal principal for(int i = 0; i < 3; i++){ for(int j = 0; j < 3; j++){ if(i == j){ soma_diagonal = soma_diagonal + matriz[i][j]; } } } cout << "A soma dos elementos da diagonal principal e: " << soma_diagonal << endl; cout << "\n" << endl; system("PAUSE"); return EXIT_SUCCESS; } |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C++ |
Veja mais Dicas e truques de C++ |
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 |