![]() |
|
||||
Código-Fonte Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesTenha 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 |
|||||
Você está aqui: Cards de Cards de Hidrologia |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Como corrigir o erro ArrayIndexOutOfBoundsException ao usar um laço for para percorrer os elementos de um arrayQuantidade de visualizações: 12686 vezes |
|
Pergunta/Tarefa: Observe o seguinte trecho de código:
public static void main(String[] args){
// um vetor de inteiros contendo cinco elementos
int valores[] = {5, 32, 9, 10, 6};
// vamos usar um laço for para exibir os valores dos elementos
// do vetorz
for(int i = 0; i <= 5; i++){
System.out.println("O valor do " + (i + 1) + "º elemento é " + valores[i]);
}
}
O valor do 1º elemento é 5 O valor do 2º elemento é 32 O valor do 3º elemento é 9 O valor do 4º elemento é 10 O valor do 5º elemento é 6 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at javaapplication1.Main.main(Main.java:14) Java Result: 1 Resposta/Solução:
O erro no código é de lógica. Como temos cinco elementos no vetor
e o índice do último elemento é 4 (o índice do primeiro elemento é 0),
o valor da variável de controle do laço for não pode ultrapassar 4. No
código acima o valor da variável i vai até 5, o que provoca um erro
ao tentar acessar um elemento do vetor que não existe.
Para corrigir o erro, basta alterar a linha:
for(int i = 0; i <= 5; i++){
para:
for(int i = 0; i < 5; i++){
|
R ::: Dicas & Truques ::: Geometria, Trigonometria e Figuras Geométricas |
Como calcular o coeficiente angular de uma reta em R dados dois pontos no plano cartesianoQuantidade de visualizações: 1893 vezes |
|
O Coeficiente Angular de uma reta é a variação, na vertical, ou seja, no eixo y, pela variação horizontal, no eixo x. Sim, isso mesmo. O coeficiente angular de uma reta tem tudo a ver com a derivada, que nada mais é que a taxa de variação de y em relação a x. Vamos começar analisando o seguinte gráfico, no qual temos dois pontos distintos no plano cartesiano: ![]() Veja que o segmento de reta AB passa pelos pontos A (x=3, y=6) e B (x=9, y=10). Dessa forma, a fórmula para obtenção do coeficiente angular m dessa reta é: \[\ \text{m} = \frac{y_2 - y_1}{x_2 - x_1} = \frac{\Delta y}{\Delta x} = tg \theta \] Note que __$\Delta y__$ e __$\Delta x__$ são as variações dos valores no eixo das abscissas e no eixo das ordenadas. No triângulo retângulo que desenhei acima, a variação __$\Delta y__$ se refere ao comprimento do cateto oposto e a variação __$\Delta y__$ se refere ao comprimento do cateto adjascente. Veja agora o trecho de código na linguagem R que solicita as coordenadas x e y dos dois pontos, efetua o cálculo e mostra o coeficiente angular m da reta que passa pelos dois pontos:
# x e y do primeiro ponto
x1 <- readline("Coordenada x do primeiro ponto: ")
y1 <- readline("Coordenada y do primeiro ponto: ")
x1 <- as.numeric(x1)
y1 <- as.numeric(y1)
# x e y do segundo ponto
x2 <- readline("Coordenada x do segundo ponto: ")
y2 <- readline("Coordenada y do segundo ponto: ")
x2 <- as.numeric(x2)
y2 <- as.numeric(y2)
# agora vamos calcular o coeficiente angular
m <- (y2 - y1) / (x2 - x1)
# mostramos o resultado
paste("O coeficiente angular é:", m)
Ao executar este código em linguagem R nós teremos o seguinte resultado: [1] "O coeficiente angular é: 0.666666666666667" Veja agora como podemos calcular o coeficiente angular da reta que passa pelos dois pontos usando o Teorema de Pitágoras. Note que agora nós estamos tirando proveito da tangente do ângulo Theta (__$\theta__$), também chamado de ângulo Alfa ou Alpha (__$\alpha__$):
# x e y do primeiro ponto
x1 <- readline("Coordenada x do primeiro ponto: ")
y1 <- readline("Coordenada y do primeiro ponto: ")
x1 <- as.numeric(x1)
y1 <- as.numeric(y1)
# x e y do segundo ponto
x2 <- readline("Coordenada x do segundo ponto: ")
y2 <- readline("Coordenada y do segundo ponto: ")
x2 <- as.numeric(x2)
y2 <- as.numeric(y2)
# vamos obter o comprimento do cateto oposto
cateto_oposto <- y2 - y1
# e agora o cateto adjascente
cateto_adjascente <- x2 - x1
# vamos obter o ângulo tetha, ou seja, a inclinação da hipetunesa
# (em radianos, não se esqueça)
tetha <- atan2(cateto_oposto, cateto_adjascente)
# e finalmente usamos a tangente desse ângulo para calcular
# o coeficiente angular
tangente <- tan(tetha)
# mostramos o resultado
paste("O coeficiente angular é:", tangente)
Ao executar este código você verá que o resultado é o mesmo. No entanto, fique atento às propriedades do coeficiente angular da reta: 1) O coeficiente angular é positivo quando a reta for crescente, ou seja, m > 0; 2) O coeficiente angular é negativo quando a reta for decrescente, ou seja, m < 0; 3) Se a reta estiver na horizontal, ou seja, paralela ao eixo x, seu coeficiente angular é zero (0). 4) Se a reta estiver na vertical, ou seja, paralela ao eixo y, o coeficiente angular não existe. |
Java ::: Dicas & Truques ::: Data e Hora |
Como obter a data completa formatada em português usando vetores e um objeto da classe Calendar do JavaQuantidade de visualizações: 1 vezes |
|
Nesta dica mostrarei como é possível combinar dois vetores de string contendo os nomes do dias e os nomes dos meses e um objeto da classe Calendar da linguagem Java para exibir a data completo em português. Este é um bom exercício para entender o uso de vetores em Java e as partes individuais que compoem uma data retornada pelo método getInstance() da classe Calendar. Veja o código completo para o exemplo:
package arquivodecodigos;
import java.util.Calendar;
public class Estudos{
public static void main(String args[]){
String dias[] = {"Domingo", "Segunda-feira", "Terça-feira",
"Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"};
String meses[] ={"Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho",
"Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"};
Calendar agora = Calendar.getInstance();
System.out.println("A date é: " + dias[agora.get(Calendar.DAY_OF_WEEK) - 1] +
", " + agora.get(Calendar.DAY_OF_MONTH) + " de " +
meses[agora.get(Calendar.MONTH)] +
" de " + agora.get(Calendar.YEAR));
}
}
Ao executar este código Java nós teremos o seguinte resultado: A date é: Sábado, 20 de Março de 2020 |
Java ::: Pacote java.lang ::: String |
Como retornar os caracteres de uma string como um vetor de char usando o método getChars() da classe String do JavaQuantidade de visualizações: 8473 vezes |
O método getChars() da classe String pode ser usado quando queremos retornar todos ou parte dos caracteres de uma string como uma matriz de char. Veja sua assinatura:public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) O parâmetro srcBegin indica o índice do primeiro caractere a ser copiado. O parâmetro srcEnd indica o índice APÓS o último caractere a ser copiado. O parâmetro dst é uma matriz de char para a qual os caracteres serão copiados e dstBegin indica o offset (ponto inicial) da matriz a ser preenchida. Veja um trecho de código no qual copiamos os 5 primeiros caracteres de uma string para uma matriz de char chamada letras:
public class Main {
public static void main(String[] args) {
// vamos declarar e inicializar uma string
String frase = "Cuiabá é muito quente";
// declara uma matriz de 5 chars
char letras[] = new char[5];
// vamos copiar os 5 primeiros caracteres da frase anterior
// e guardá-los nas primeiras posições da matriz
frase.getChars(0, 5, letras, 0);
// vamos percorrer a matriz letras
for (int i = 0; i < letras.length; i++) {
System.out.print(letras[i] + " ");
}
}
}
Ao executarmos este código teremos o seguinte resultado: C u i a b O método getChars() pode atirar uma exceção do tipo IndexOutOfBoundsException se valores inválidos forem fornecidos aos seus parâmetros. |
Java ::: Pacote java.awt.event ::: KeyEvent |
Java Swing - Como usar o método getKeyCode() da classe KeyEvent para detectar as teclas de Espaço, Enter ou EscQuantidade de visualizações: 6507 vezes |
|
Em algumas situações nós precisamos detectar o pressionamento das teclas de Espaço, Enter ou Esc. Para isso podemos usar o método getKeyCode() da classe KeyEvent e testar se o código equivale a uma das constantes KeyEvent.VK_SPACE (espaço), KeyEvent.VK_ENTER (Enter) ou KeyEvent.VK_ESCAPE (Esc). Veja um trecho de código no qual testamos se alguma destas três teclas foi pressionada:
package estudos;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Janela extends JFrame implements KeyListener{
public Janela(){
super("Eventos do Teclado");
Container c = getContentPane();
FlowLayout layout = new FlowLayout(FlowLayout.LEFT);
c.setLayout(layout);
// vamos adicionar o objeto listener
addKeyListener(this);
setSize(350, 250);
setVisible(true);
}
@Override
public void keyPressed(KeyEvent e){
// a tecla Space foi pressionada?
if(e.getKeyCode() == KeyEvent.VK_SPACE){
JOptionPane.showMessageDialog(null, "A tecla de espaço foi pressionada");
}
// a tecla Enter foi pressionada?
else if(e.getKeyCode() == KeyEvent.VK_ENTER){
JOptionPane.showMessageDialog(null, "A tecla Enter foi pressionada");
}
// a tecla Esc foi pressionada?
else if(e.getKeyCode() == KeyEvent.VK_ESCAPE){
JOptionPane.showMessageDialog(null, "A tecla Esc foi pressionada");
}
else{
JOptionPane.showMessageDialog(null, "Outra tecla foi pressionada");
}
}
@Override
public void keyReleased(KeyEvent e){
// sem implementação
}
@Override
public void keyTyped(KeyEvent e){
// sem implementação
}
public static void main(String args[]){
Janela j = new Janela();
j.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
É importante observar que as teclas Space, Enter e Esc podem ser detectadas somente nos eventos keyPressed e keyReleased. |
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 |







