Você está aqui: Cards de Engenharia Civil - Estruturas de Aço e Madeira |
||
|
||
|
|
||
Java ::: Pacote java.awt ::: Graphics |
Como desenhar linhas no Java Swing usando o método drawLine() da classe GraphicsQuantidade de visualizações: 15747 vezes |
O método drawLine() da classe Graphics nos permite desenhar linhas retas. Observe atentamente a assinatura deste método:public abstract void drawLine(int x1, int y1, int x2, int y2) Neste método, os parâmetros x1 e x2 representam as coordenadas iniciais da linha e x2 e y2 representam as coordenadas finais. Veja um trecho de código no qual desenhamos quatro linhas em um JLabel:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JLabel label;
public Estudos() {
super("Desenhando em um JLabel");
Container c = getContentPane();
c.setLayout(new BorderLayout());
// Cria um JLabel
label = new JLabel();
c.add(label, BorderLayout.CENTER);
// Cria um botão
JButton btn = new
JButton("Desenhar Linhas");
btn.addActionListener(
new ActionListener(){
public void actionPerformed(ActionEvent e){
Graphics graphics = label.getGraphics();
// desenha linhas no JLabel
graphics.drawLine(10, 15, 100, 10);
graphics.drawLine(20, 30, 80, 150);
graphics.drawLine(50, 50, 120, 30);
graphics.drawLine(100, 100, 310, 100);
}
}
);
// Adiciona o botão à janela
c.add(btn, BorderLayout.SOUTH);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Há algo de interessante neste código. Se você maximizar, minimizar ou redimensionar a janela verá que o desenho é apagado. Isso acontece porque todas as vezes que a janela sofre alguma alteração, ela é pintada novamente, juntamente com seus componentes filhos. Se você deseja que o desenho seja feito automaticamente novamente, é melhor fazer uma sub-classe do componente desejado e sobrescrever seu método paintComponent(). Nesta mesma seção você encontrará exemplos de como fazer isso. |
Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar o tamanho de um array em Ruby usando o método length da classe ArrayQuantidade de visualizações: 7632 vezes |
|
Em algumas situações nós precisamos saber a quantidade de elementos em um array da linguagem Ruby. Para isso nós podemos usar a função length da classe Array. Este método retorna um valor inteiro representando a quantidade de elementos no vetor. O trecho de código abaixo mostra como obter a quantidade de elementos em um array em Ruby:
# vamos declarar um vetor contendo 5 inteiros
valores = [3, 6, 8, 2, 3]
# Obtém a quantidade de elementos
quant = valores.length
puts "O array contém #{quant} elementos"
Ao executar este código Ruby nós teremos o seguinte resultado: O array contém 5 elementos |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Exceções e Tratamentos de Erros |
Exercício Resolvido de Java - Como forçar o usuário a informar dois inteiros válidos antes de efetuar sua soma - Exceções e Tratamentos de Erros em JavaQuantidade de visualizações: 3823 vezes |
|
Pergunta/Tarefa: Escreva um programa Java que usa tratamento de erros try...catch para forçar o usuário a informar dois valores inteiros válidos antes de tentar somá-los. Caso o usuário informe um ou os dois valores inválidos, o programa deverá exibir uma mensagem de erro e solicitar os valores novamente. Sua saída deverá ser parecida com: Informe o primeiro valor: M Dados inválidos: java.lang.NumberFormatException: For input string: "M" Por favor, informe os dois números novamente Informe o primeiro valor: 7 Informe o segundo valor: % Dados inválidos: java.lang.NumberFormatException: For input string: "%" Por favor, informe os dois números novamente Informe o primeiro valor: 5 Informe o segundo valor: 3 A soma dos valores é: 8 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
// para verificar se os valores são inteiros válidos
boolean validos = false;
int n1, n2, soma;
// solicita que o usuário informe os dois valores
while(!validos) {
try {
System.out.print("Informe o primeiro valor: ");
// tenta fazer a conversão
n1 = Integer.parseInt(entrada.nextLine());
System.out.print("Informe o segundo valor: ");
// tenta fazer a conversão
n2 = Integer.parseInt(entrada.nextLine());
// se chegou até aqui é porque não houve erros na conversão,
// ou seja, o usuário informou inteiros válidos
soma = n1 + n2;
System.out.println("A soma dos valores é: " + soma);
validos = true;
}
catch (Exception ex) { // houve erro na conversão?
System.out.println("Dados inválidos: " + ex.toString());
System.out.println("Por favor, informe os dois números novamente");
}
}
}
}
|
C ::: Dicas & Truques ::: Data e Hora |
Como obter e exibir a data atual no formato DD/MM/YYYY (Ex: 02/07/2013) usando a linguagem CQuantidade de visualizações: 5077 vezes |
Em algumas situações gostaríamos de obter e exibir a data no formato DD/MM/YYYY, por exemplo, 23/05/2010. Para isso podemos usar a função strftime(), que nos permite formatar o conteúdo da estrutura tm usando especificadores de formato. Veja o código:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(int argc, char *argv[]){
time_t data_hora_segundos; // guarda os segundos deste 01/01/1970
struct tm *timeinfo; // declara uma estrutura tm
time(&data_hora_segundos); // preenche a variável data_hora_segundos
// preenche a estrutura timeinfo
timeinfo = localtime(&data_hora_segundos);
// obtém e exibe a data atual no formato DD/MM/YYYY
char data_atual[80];
strftime(data_atual, 80, "A data de hoje é: %d/%m/%Y", timeinfo);
// mostra o resultado
printf("%s\n\n", data_atual);
system("PAUSE");
return 0;
}
Ao executar este código nós teremos o seguinte resultado: A data de hoje é: 02/08/2013 Para exibir a data no formato DD/MM/YYYY eu usei os especificadores de formato %d, %m e %Y. |
PHP ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de PHP - Escreva um programa PHP para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1813 vezes |
|
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: // vamos declarar e construir um vetor de 8 inteiros $valores = array(0, 3, 0, 5, 7, 4, 0, 9); Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando PHP:
<?php
// Este código PHP pode ser executado tanto na linha
// de comando quanto pelo servidor web
// vamos declarar e construir um vetor de 8 inteiros
$valores = array(0, 3, 0, 5, 7, 4, 0, 9);
// vamos mostrar o vetor na ordem original
echo("Vetor na ordem original:\n");
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " ";
}
// vamos inicializar j como 0 para que ele aponte para
// o primeiro elemento do vetor
$j = 0;
// agora o laço for percorre todos os elementos do vetor,
// incrementanto a variável i e deixando o j em 0
for($i = 0; $i < count($valores); $i++){
// encontramos um valor que não é 0
if($valores[$i] != 0){
// fazemos a troca entre os elementos nos índices
// i e j
$temp = $valores[$i];
$valores[$i] = $valores[$j];
$valores[$j] = $temp;
// e avançamos o j para o elemento seguinte
$j++;
}
}
// agora mostramos o resultado
echo "\n\nVetor com os zeros deslocados para o final:\n";
for($i = 0; $i < count($valores); $i++){
echo $valores[$i] . " ";
}
?>
Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de PHP |
Veja mais Dicas e truques de PHP |
Dicas e truques de outras linguagens |
|
GoLang - Como retornar o tamanho de uma string em Golang usando os métodos len() e RuneCountInString() Delphi - Delphi para iniciantes - Como criar uma data e hora em Delphi usando a função EncodeDateTime() |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




