Delphi ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Delphi para iniciantes - Como escrever uma função que retorna uma matriz de IntegerQuantidade de visualizações: 13823 vezes |
Em algumas situações precisamos retornar uma matriz a partir de uma função. Nesta dica eu mostro como isso pode ser feito. O primeiro passo é declarar um novo tipo. Veja:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- type // vamos declarar um novo tipo TMatrizInteiros = array of Integer; Aqui o tipo TMatrizInteiros representa uma matriz de inteiros. Veja a unit completa para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type // vamos declarar um novo tipo
TMatrizInteiros = array of Integer;
var
Form1: TForm1;
implementation
{$R *.dfm}
// função usada para construir e retornar uma
// matriz de Integer
function obterValores: TMatrizInteiros;
var
tempArray: TMatrizInteiros;
i: integer;
begin
// vamos definir o tamanho da matriz
SetLength(tempArray, 10);
// vamos inicializar a matriz com os números pares de 0 até 18
// note que em matrizes abertas o índice inicial é sempre 0
for i := Low(tempArray) to High(tempArray) do
begin
tempArray[i] := i * 2;
end;
Result := tempArray; // vamos retornar a matriz
end;
procedure TForm1.Button1Click(Sender: TObject);
var
valores: TMatrizInteiros; // uma matriz do tipo TMatrizInteiros
i: Integer;
begin
valores := obterValores();
// que já temos a matriz, vamos exibir os valores de
// seus elementos
for i := 0 to High(valores) do
begin
Memo1.Lines.Add(IntToStr(valores[i]));
end;
end;
end.
Note que a função retornará uma matriz aberta (open array). Desta forma, seu índice inicial será sempre 0. |
Java ::: Dicas & Truques ::: Threads |
Como usar uma thread Java para animar o título de uma janela JFrame do Java SwingQuantidade de visualizações: 11887 vezes |
|
Nesta dica mostro como podemos usar uma thread para substituir um timer em uma aplicação Swing. Ao executar este código você verá que o texto da barra de títulos da aplicação pisca continuamente enquanto o aplicativo estiver sendo executado. Veja a listagem para o exemplo: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("Uso de threads em aplicações Swing");
// vamos criar a thread que fará o título da janela
// piscar continuamente
// vamos criar duas threads
MinhaThread t1 = new MinhaThread(this);
t1.start();
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// classe que usaremos como thread
class MinhaThread extends Thread{
private JFrame janela;
private String titulo;
public MinhaThread(JFrame janela){
this.janela = janela;
this.titulo = janela.getTitle();
}
public void run(){
try{
while(true){
if(janela.getTitle().equals(""))
janela.setTitle(titulo);
else
janela.setTitle("");
Thread.sleep(300);
}
}
catch(InterruptedException ex){
// precisa fazer nada aqui
}
}
}
Um detalhe interessante é que, ao ser colocada para dormir, a thread usada no exemplo permite que as demais threads da aplicação continuem suas execuções normalmente. Isso permite que a janela seja movida, redimensionada, minimizada, etc. Lembre-se sempre de usar o método Thread.yield() caso a thread criada estiver executando alguma ação demorada. Isso evitará que a janela do programa pareça congelada. |
Java ::: Fundamentos da Linguagem ::: Modificadores |
Programação Orientada a Objetos em Java - Como usar o modificador de acesso public da linguagem JavaQuantidade de visualizações: 10182 vezes |
|
O modificador de acesso public é aquele que permite o maior grau de acesso a um recurso Java (um recurso é uma classe, um método ou uma variável). O único modificador de acesso permitido a uma classe não interna é public. Não é permitido usar outro modificador. Na ausência do modificador public, o acesso à classe será de pacote (package). Quando usamos este modificador, as classes, métodos e variáveis podem ser acessadas a partir de qualquer outra classe sem qualquer restrição. Além disso, um método public pode ser sobrescrito (sofrer override) por qualquer subclasse da classe que o declara. O método main() da aplicação é declarado public para que o ambiente de execução Java tenha acesso a ele. Declará-lo de outra forma fará com que a execução da aplicação se torne impossível. Veja um exemplo de uma classe Java pública, com uma variável de instância pública e um método também público: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
package arquivodecodigos;
// uma classe pública
public class Cliente {
// uma variável pública
public int codigo;
// um construtor público
public Cliente(){
this.codigo = 532;
}
// um método público
public int obterCodigoCliente(){
return this.codigo;
}
}
|
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: 12625 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: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
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++){
|
Nossas 20 dicas & truques de programação mais populares |
|
Java - Java Swing para iniciantes - Como detectar eventos do teclado em uma janela JFrame do Java Swing JavaScript - Cookies em JavaScript - Como escrever uma função para a criação de cookies em JavaScript Delphi - Como retornar o caractere a partir de um determinado código ASCII em Delphi usando a função Chr() MySQL - Como usar joins no MySQL |
Nossas 20 dicas & truques de programação mais recentes |
Últimos Projetos e Códigos Fonte Liberados Para Apoiadores do Site |
|
Python - Como criar o jogo Pedra, Papel, Tesoura em Python - Jogo completo em Python com código comentado |
Últimos Exercícios Resolvidos |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




