Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercícios Resolvidos de Java - Como contar de 10 até 0 usando recursividade em Java - Funções recursivas em JavaQuantidade de visualizações: 6798 vezes |
|
Pergunta/Tarefa: Escreva um método recursivo em Java que conta e exibe os valores de 10 até 0. Seu método deverá possuir a seguinte assinatura:
public static void contarRecursivamente(int n){
// sua implementação aqui
}
Sua saída deverá ser parecida com: 10 9 8 7 6 5 4 3 2 1 0 Veja a resolução comentada deste exercício usando Java:
package exercicio;
public class Exercicio {
public static void main(String[] args) {
// efetua uma chamada ao método recursivo
// fornecendo o primeiro valor
contarRecursivamente(10);
}
// método recursivo que conta de 10 até 0;
public static void contarRecursivamente(int n){
// vamos exibir o número atual
System.out.print(n + " ");
// devemos prosseguir com a recursividade?
if(n > 0){
// decrementa o valor de n
n--;
// e faz uma nova chamada recursiva
contarRecursivamente(n);
}
}
}
|
Java ::: Dicas & Truques ::: Mouse e Teclado |
Computação Gráfica em Java - Código completo Java Swing para um programa de desenho usando eventos do mouseQuantidade de visualizações: 31796 vezes |
|
Nesta dica apresento um código completo para um programa de desenho usando os eventos os mouse, feito em Java Swing. Veja que o único evento que tivemos que implementar foi mouseDragged, que é disparado quando o usuário arrasta o mouse com o botão direito ou esquerdo pressionado. Observe também a criação de uma classe JPanel personalizada que servirá como painel de desenho. Fique atento à forma como subscrevemos o método paintComponent() na classe PainelDesenho para obtermos o objeto Graphics que nos permitirá desenhar na superfície do JPanel. O resultado é exibido na imagem abaixo: ![]() E aqui está o código completo para o exemplo:
package arquivodecodigos;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Estudos extends JFrame{
public Estudos(){
super("Eventos do Mouse e Teclado");
Container c = getContentPane();
PainelDesenho painel = new PainelDesenho();
c.add(painel, BorderLayout.CENTER);
c.add(new JLabel("Arraste o mouse para desenhar..." ),
BorderLayout.SOUTH );
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
class PainelDesenho extends JPanel{
private int quantPontos = 0;
private Point pontos[] = new Point[10000];
public PainelDesenho(){
this.setBackground(Color.WHITE);
this.addMouseMotionListener(
new MouseMotionAdapter(){
public void mouseDragged(MouseEvent e){
if(quantPontos < pontos.length){
pontos[quantPontos] = e.getPoint();
quantPontos++;
repaint();
}
}
}
);
}
@Override
public void paintComponent(Graphics g){
super.paintComponent(g);
for(int i = 0 ; i < quantPontos; i++)
g.fillOval(pontos[i].x, pontos[i].y, 4, 4);
}
}
|
PHP ::: Fundamentos da Linguagem ::: Estruturas de Controle |
Apostila PHP para iniciantes - Como criar um laço while infinito em PHPQuantidade de visualizações: 10417 vezes |
Um laço while() infinito pode ser criado em PHP simplesmente fornecendo o valor true para a condição do laço. Neste caso é preciso que você forneça uma forma de parar o laço, ou o script continuará executando até atingir seu tempo tempo máximo de execução, e um erro será exibido na página. Veja um trecho de código exemplificando o uso de um laço while infinito:
<?
$valor = 5;
while(true){
echo $valor . "<br>";
$valor++;
if($valor > 10)
break; // pára o laço
}
?>
|
Delphi ::: dbExpress ::: TSQLDataSet |
Como obter a quantidade de campos nos registros retornados em um TSQLDataSet do Delphi usando a propriedade FieldCountQuantidade de visualizações: 11255 vezes |
|
Em algumas situações precisamos saber a quantidade de campos retornados em um objeto TSQLDataSet depois de dispararmos o comando SQL SELECT definido em sua propriedade CommandText. Para isso podemos usar a propriedade FieldCount. Veja sua assinatura: property FieldCount: Integer; Esta propriedade é definida originalmente em TDataSet e herdada pela classe TSQLDataSet. Veja um trecho de código no qual disparamos um comando SQL SELECT em uma tabela contatos e exibimos a quantidade de campos dos registros retornados:
procedure TForm3.Button1Click(Sender: TObject);
begin
// vamos definir o comando SQL a ser executado
SQLDataSet1.CommandText := 'SELECT * FROM contatos';
// vamos executar o comando
SQLDataSet1.Open;
// vamos obter a quantidade de registros retornados
ShowMessage('Quantidade de campos retornados: ' +
IntToStr(SQLDataSet1.FieldCount));
end;
Ao executarmos este trecho de código teremos uma mensagem com o seguinte texto: Quantidade de campos retornados: 5. Note que a propriedade FieldCount inclui somente os campos listados na propriedade Fields. Quaisquer campos agregados listados pela propriedade AggFields não são incluídos na contagem. |
Nossas 20 dicas & truques de programação mais populares |
|
Python - Como verificar se uma string contém apenas caracteres de espaços em Python usando a função isspace() Python - Como retornar o dia do mês em Python como um decimal no intervalo 01-31 usando strftime("%d") JavaScript - Como converter uma string em um valor de ponto-flutuante em JavaScript usando a função parseFloat() |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Programação Orientada a Objetos em Java - Como usar o modificador de acesso public da linguagem Java VB.NET - Como usar o laço While em VB.NET |
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 |





