Você está aqui: Cards de |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Exercício Resolvido de Java - Como contar de 0 até 10 usando recursividade em Java - Funções recursivas em JavaQuantidade de visualizações: 5376 vezes |
|
Pergunta/Tarefa: Escreva um método Java recursivo que conta e exibe os valores de 0 até 10. 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: 0 1 2 3 4 5 6 7 8 9 10 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(0);
}
// método recursivo que conta de 0 até 10;
public static void contarRecursivamente(int n){
// vamos exibir o número atual
System.out.print(n + " ");
// devemos prosseguir com a recursividade?
if(n < 10){
// incrementa o valor de n
n++;
// e faz uma nova chamada recursiva
contarRecursivamente(n);
}
}
}
|
C++ ::: Dicas & Truques ::: Strings e Caracteres |
Como substituir todas as ocorrências de uma substring em uma string C++ usando uma função substituir_string() personalizadaQuantidade de visualizações: 10713 vezes |
|
Nesta dica mostrarei como podemos tirar proveito das funções empty(), size(), find(), replace() e length() da classe String do C++ para escrever uma função substituir_string() personalizada que nos permite substituir todas as ocorrências de uma substring em uma string. Veja o código C++ completo para o exemplo:
#include <string>
#include <iostream>
using namespace std;
// função personalizada para substituir todas as ocorrências
// de uma substring em uma string
void substituir_string(string& str, const string de,
const string para){
// variáveis auxiliares
int i = 0, indice;
// a string está vazia?
if(str.empty()){
str = de;
return;
}
// fazemos as substituições da substring
while(i < str.size()){
indice = str.find(de, 0);
if(indice >= 0){
str.replace(indice, de.length(), para);
}
else{
return;
}
i++;
}
}
// função principal do programa
int main(int argc, char *argv[]){
// vamos criar uma string
string frase = "Java? Gosto de Java, Java!";
cout << "A frase original é: " << frase << endl;
// Substitui as ocorrências de "Java" por "PHP"
substituir_string(frase, "Java", "PHP");
// e mostramos o resultado
cout << "Depois da substituição: " << frase << endl;
system("PAUSE"); // pausa o programa
return EXIT_SUCCESS;
}
Ao executar este código C++ nós teremos o seguinte resultado: A frase original é Java? Gosto de Java, Java! Depois da substituição: PHP? Gosto de PHP, PHP! |
Python ::: Matplotlib Python Library (Biblioteca Python Matplotlib) ::: Geração e Plotagem de Gráficos usando Matplotlib |
Como gerar o gráfico da função seno usando a biblioteca Matplotlib do PythonQuantidade de visualizações: 2879 vezes |
|
Sabemos, como lembrança das nossas aulas de Trigonometria no segundo grau, que a função seno é a razão entre o cateto oposto e a hipotenusa de um triângulo retângulo, ou seja, trata-se de uma razão trigonométrica que retorna valores na faixa de -1 até 1 (ambos inclusos). Nesta dica mostrarei como podemos usar as capacidades de geração de gráficos da biblioteca Matplotlib da linguagem Python, combinadas com as funções arange() e sin() da biblioteca NumPy para gerar o gráfico da função seno. Antes de vermos o código, observe o resultado gerado na imagem a seguir: ![]() Veja agora o código Python completo para a geração do gráfico:
# importamos a biblioteca NumPy
import numpy as np
#importamos a biblioteca Matplotlib
import matplotlib.pyplot as plt
def main():
# definimos o título para a área de plotagem
plt.title('Gráfico da Função Seno')
# vamos exibir o grid da área de plotagem
plt.grid(True)
# vamos definir os valores da coordenada x
# os valores gerados serão de 0 até 12 (não incluído)
eixo_x = np.arange(0, 12, 0.1)
# os valores da coordenada y serão o seno de
# cada valor correspondente no eixo x
eixo_y = np.sin(eixo_x)
# vamos plotar a função seno agora
plt.plot(eixo_x, eixo_y)
# finalmente exibimos o resultado
plt.show()
if __name__== "__main__":
main()
|
Java ::: Pacote java.lang ::: Integer |
Java para iniciantes - Como usar o método parseInt() da classe Integer para converter uma String em um valor do tipo intQuantidade de visualizações: 95885 vezes |
Em algumas situações, principalmente quando estamos lidando com valores informados pelo usuário, nós precisamos converter uma String em um valor inteiro. Para isso podemos usar o método parseInt() da classe Integer. Veja sua assinatura: public static int parseInt(String s) throws NumberFormatException A String fornecida como argumento deve conter apenas digitos decimais, exceto que o primeiro caractere pode ser o caractere ASCII sinal de menos "-" ('\u002D') para indicar um valor negativo ou o caractere ASCII sinal de mais "+" ('\u002B') para indicar um valor positivo. Veja um exemplo no qual usamos o método parseInt() para converter uma String informada pelo usuário em um valor do tipo int:
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos usar um objeto da classe Scanner para ler a idade do usuário
Scanner entrada = new Scanner(System.in);
// solicita a idade
System.out.print("Informe sua idade: ");
int idade = Integer.parseInt(entrada.nextLine());
// mostra o valor lido
System.out.println("A idade informada foi: " + idade);
}
}
Ao executarmos este código teremos o seguinte resultado: Informe sua idade: 28 A idade informada foi: 28 Há, porém, situações nas quais o usuário pode não seguir as recomendações de não inserir caracteres inválidos, o que inviabiliza a conversão para inteiro. Veja: Informe sua idade: osmar Exception in thread "main" java.lang.NumberFormatException: For input string: "osmar" at java.lang.NumberFormatException.forInputString(NumberFormatException. java:48) at java.lang.Integer.parseInt(Integer.java:447) at java.lang.Integer.parseInt(Integer.java:497) at Estudos.main(Estudos.java:10) Para contornar esta situação nós precisamos fornecer um bloco try...catch para tratar a exceção NumberFormatException. Veja:
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos usar um objeto da classe Scanner para ler a idade do usuário
Scanner entrada = new Scanner(System.in);
// solicita a idade
System.out.print("Informe sua idade: ");
try{
int idade = Integer.parseInt(entrada.nextLine());
// mostra o valor lido
System.out.println("A idade informada foi: " + idade);
}
catch(NumberFormatException nfe){
System.out.println("Valor inválido: " + nfe.getMessage());
}
}
}
Agora o programa exibirá uma mensagem de erro caso o usuário forneça uma String que não pode ser convertida para inteiro. |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Java Swing - Como centralizar a janela JFrame ao abrir a aplicação Java SwingQuantidade de visualizações: 20968 vezes |
|
Em várias ocasiões nós gostaríamos de centralizar a janela JFrame, ou seja, a janela principal de nossa aplicação Java Swing ao abrir o programa. Para isso nós podemos usar o método setLocationRelativeTo() e fornecer a ele o valor null. Veja como isso pode ser feito no código abaixo:
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("Uso da classe JFrame");
setSize(350, 250);
setVisible(true);
// centraliza a janela
setLocationRelativeTo(null);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
|
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 |






