Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Python ::: Dicas & Truques ::: Lista (List) |
Curso de Python - Como ordenar uma lista de strings baseado no tamanho de cada umaQuantidade de visualizações: 8499 vezes |
|
Este exemplo mostra como ordenar os elementos de uma List de strings baseado no tamanho da palavra, frase ou texto. Note como o valor "key = len" como argumento para o método sort() da classe List. Veja o código completo para a dica: def main(): # cria uma lista de nomes nomes = ['Carlos', 'Igor', 'Osmar', 'Fernanda'] # exibe a lista na ordem original print(nomes) # ordena a lista nomes.sort(key = len) # exibe a lista ordenada print(nomes) if __name__== "__main__": main() Ao executar este código Python nós teremos o seguinte resultado: ['Carlos', 'Igor', 'Osmar', 'Fernanda'] ['Igor', 'Osmar', 'Carlos', 'Fernanda'] |
Java ::: Dicas & Truques ::: Timers |
Java Swing Exemplo completo: Como usar um timer para atualizar a hora atual em uma JLabelQuantidade de visualizações: 17582 vezes |
|
Este exemplo mostra como criar uma janela JFrame contendo dois botões JButton, um label JLabel e um timer (java.awt.Timer). Quando o timer dispara, o texto da label é atualizado para refletir a hora atual. Veja o resultado na imagem abaixo: ![]() E aqui está o código Java Swing completo para o exemplo:
package arquivodecodigos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Calendar;
import java.text.DecimalFormat;
public class Estudos extends JFrame{
JLabel hora;
Timer timer;
DecimalFormat formato;
public Estudos() {
super("Usando timers em Java");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
formato = new DecimalFormat("00");
// Cria o timer
timer = new Timer(1000, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
atualizarHoras();
}
});
// Cria um botão com o texto "Iniciar"
JButton iniciar = new JButton("Iniciar");
iniciar.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
timer.start(); // inicia o timer
}
}
);
// Cria um botão com o texto "Parar"
JButton parar = new JButton("Parar");
parar.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
timer.stop(); // pára o timer
}
}
);
// JLabel que exibirá a hora atual
hora = new JLabel("00:00:00");
// Adiciona os botões à janela
c.add(iniciar);
c.add(parar);
// adiciona o label à janela
c.add(hora);
setSize(350, 250);
setVisible(true);
}
private void atualizarHoras(){
// Cria uma instância de Calendar
Calendar agora = Calendar.getInstance();
// horas, minutos e segundos
int horas = agora.get(Calendar.HOUR);
int minutos = agora.get(Calendar.MINUTE);
int segundos = agora.get(Calendar.SECOND);
hora.setText(formato.format(horas) + ":" +
formato.format(minutos) + ":" +
formato.format(segundos));
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
Java ::: Dicas & Truques ::: Input e Output (Entrada e Saída) |
Java para iniciantes - Como usar a classe File em suas aplicações JavaQuantidade de visualizações: 11204 vezes |
A classe File, contida no pacote java.io, é uma representação abstrata de nomes de arquivos e diretórios. Veja sua posição na hierarquia de classes Java:java.lang.Object java.io.File Esta classe implementa as interfaces: Serializable e Comparable<File>. Instâncias desta classe são imutáveis, ou seja, uma vez criado, o caminho abstrato representado por um objeto File nunca mudará. É importante observar que, ao criar uma instância de File, como no código abaixo:
File arquivo = new File("C:\\", "texto.txt");
o arquivo "texto.txt" não será criado. O que temos é a construção de um objeto File. Da mesma forma, quando destruímos um objeto File, o arquivo representado por ele no sistema não será excluído. |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Pesquisando um valor em uma matriz de int e retornando o índice no qual o mesmo foi encontradoQuantidade de visualizações: 9716 vezes |
|
Pergunta/Tarefa: Escreva um programa Java GUI ou console que declara, constrói e inicializa uma matriz de 5 inteiros. Em seguida peça ao usuário para informar um valor inteiro e informe se o valor lido está contido na matriz. Se o valor for encontrado na matriz, retorne seu índice (lembre-se de que os índices dos elementos em uma matriz Java começam em 0). A declaração, construção e inicialização da matriz pode ser feita da seguinte forma:
// declara, constrói e inicializa uma matriz de 5 inteiros
int valores[] = {4, 21, 8, 120, 1};
Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package estudos;
import javax.swing.JOptionPane;
public class Estudos {
public static void main(String[] args) {
// declara, constrói e inicializa uma matriz de 5 inteiros
int valores[] = {4, 21, 8, 120, 1};
// vamos ler um valor inteiro
int pesquisa = Integer.parseInt(JOptionPane.showInputDialog("Valor:"));
// vamos verificar se o valor está contido na matriz e retornar seu índice
int pos = -1; // índice não existente na matriz
for(int i = 0; i < valores.length; i++){
if(valores[i] == pesquisa){
pos = i; // encontrou? vamos anotar este índice
break;
}
}
// vamos mostrar o resultado
if(pos > -1){
JOptionPane.showMessageDialog(null, "O valor foi encontrado no índice: " +
pos);
}
else{
JOptionPane.showMessageDialog(null, "O valor não foi encontrado na matriz");
}
}
}
Uma idéia na resolução deste exercício é inicializar a variável que guardará o índice do elemento pesquisado com o valor -1. Assim, se no final da pesquisa o valor ainda for -1, sabemos que o elemento não foi encontrado. |
Delphi ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter uma string em um valor numérico de ponto-flutuante (com parte fracionária) em Delphi usando as funções StrToFloat(), TryStrToFloat() e StrToFloatDef()Quantidade de visualizações: 25560 vezes |
|
Em algumas situações precisamos converter strings em valores numéricos do tipo ponto-flutuante, ou seja, números que contenham uma parte fracionária. Isso acontece quando recebemos valores de caixas de texto e precisamos usuá-los em cálculos. Vamos começar com a função StrToFloat() da unit SysUtils. Esta função recebe uma string representando um valor de ponto-flutuante válido e retorna um valor de ponto-flutuante. Veja o exemplo:
procedure TForm1.Button1Click(Sender: TObject);
var
valor1, valor2, soma: Double;
begin
// vamos receber as strings dos TEdits e converter
// seus valores para números de ponto-flutuante
// note que em Delphi, um valor de ponto-flutuante
// é informado em caixas de texto usando vírgula. Ex: 7,3
valor1 := StrToFloat(Edit1.Text);
valor2 := StrToFloat(Edit2.Text);
// vamos obter a soma dos dois valores
soma := valor1 + valor2;
// vamos exibir o resultado. Note o uso de FloatToStr() para
// converter o valor fracionário em string
ShowMessage('A soma é: ' + FloatToStr(soma));
end;
Note que, se a string sendo convertida possuir um valor de ponto-flutuante inválido, uma exceção do tipo EConvertError será lançada. Podemos evitar isso usando a função TryStrToFloat(). Esta função recebe dois argumentos: a string a ser convertida e a variável do tipo Extended, Double ou Single que receberá o valor. O resultado será true se a conversão for feita com sucesso e false em caso contrário. Veja:
procedure TForm1.Button1Click(Sender: TObject);
var
valor: Double;
begin
// vamos tentar converter o valor da caixa de texto
// em um valor de ponto-flutuante
if TryStrToFloat(Edit1.Text, valor) then
ShowMessage('Conversão efetuada com sucesso.')
else
ShowMessage('Erro na conversão');
end;
Há ainda uma terceira possibilidade: usar a função StrToFloatDef(). Esta função funciona exatamente da mesma forma que StrToFloat(), exceto que agora, se houver um erro de conversão, um valor de ponto-flutuante padrão será retornado. Veja: procedure TForm1.Button1Click(Sender: TObject); var valor: Double; begin // vamos converter o valor da caixa de texto // em um valor de ponto-flutuante. Se a conversão não puder // ser feita o valor 10,50 será atribuído à varial valor valor := StrToFloatDef(Edit1.Text, 10.50); // vamos exibir o resultado ShowMessage(FloatToStr(valor)); end; Para fins de compatibilidade, esta dica foi escrita usando Delphi 2009. |
Desafios, Exercícios e Algoritmos Resolvidos de Delphi |
Veja mais Dicas e truques de Delphi |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |







