Você está aqui: Cards de |
||
|
||
|
|
||
Python ::: Desafios e Lista de Exercícios Resolvidos ::: Estruturas de Controle |
Exercício Resolvido de Python - Como testar se um ano é bissexto em Python - Um programa que lê um ano com quatro dígitos e informa se ele é bissexto ou nãoQuantidade de visualizações: 1930 vezes |
|
Pergunta/Tarefa: Chama-se ano bissexto o ano ao qual é acrescentado um dia extra, ficando ele com 366 dias, um dia a mais do que os anos normais de 365 dias, ocorrendo a cada quatro anos (exceto anos múltiplos de 100 que não são múltiplos de 400). Isto é feito com o objetivo de manter o calendário anual ajustado com a translação da Terra e com os eventos sazonais relacionados às estações do ano. O último ano bissexto foi 2012 e o próximo será 2016. Um ano é bissexto se ele for divisível por 4 mas não por 100, ou se for divisível por 400. Escreva um programa Python que pede ao usuário um ano com quatro dígitos e informa se ele é bissexto ou não. Sua saída deverá ser parecida com: Informe o ano: 2024 O ano informado é bissexto. Veja a resolução comentada deste exercício usando Python:
# método principal
def main():
# vamos solicitar que o usuário informe um ano
ano = int(input("Informe o ano: "))
# vamos verificar se o ano informado é bissexto
if(((ano % 4 == 0) and (ano % 100 != 0)) or (ano % 400 == 0)):
print("\nO ano informado é bissexto.\n")
else:
print("\nO ano informado não é bissexto.\n");
if __name__== "__main__":
main()
|
Java ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar o modificador final em classes, variáveis e métodos Java - Programação Orientada a Objetos em JavaQuantidade de visualizações: 13911 vezes |
O modificador final pode ser usado com classes, variáveis e métodos. É claro que o significado varia dependendo do uso. Por exemplo, ao marcarmos uma variável com o modificador final, estamos na verdade criando uma constante, ou seja, uma variável cujo conteúdo não pode ser alterado durante a execução do programa. Veja:
public class Estudos{
static final int VALOR = 45;
public static void main(String args[]){
// vamos tentar alterar o valor da
// constante
VALOR = 10;
}
}
Ao tentarmos compilar este programa teremos a seguinte mensagem de erro:
Estudos.java:7: cannot assign a value to
final variable VALOR
VALOR = 10;
^
1 error
Tenha em mente, porém, que quando uma variável marcada como final é uma referência a um objeto, é a referência que não poderá ser alterada. As propriedades do objeto para a qual ela aponta poderão sofrer alterações, exceto se estes também estiverem marcados como final. Quando aplicado a classes, o modificador final garante que a classe não poderá ser extendida, ou seja, não é possível criar uma classe derivada a partir de uma classe marcada como final. Veja:
// superclasse
final class Pessoa{
public String nome;
}
// subclasse
class Aluno extends Pessoa{
public String matricula;
}
public class Estudos{
public static void main(String args[]){
// Cria um objeto da classe Aluno
Aluno a = new Aluno();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:7: cannot inherit from
final Pessoa
class Aluno extends Pessoa{
^
1 error
Um método marcado como final não pode ser sobrescrito. Veja um exemplo:
// superclasse
class Pessoa{
protected String nome;
public final String getNome(){
return this.nome;
}
}
// subclasse
class Aluno extends Pessoa{
// estamos sobrescrevendo o método
// herdado da superclasse
public final String getNome(){
return "Aluno: " + this.nome;
}
}
public class Estudos{
public static void main(String args[]){
// Cria um objeto da classe Aluno
Aluno a = new Aluno();
}
}
Ao tentarmos compilar este código teremos a seguinte mensagem de erro:
Estudos.java:14: getNome() in Aluno cannot
override getNome() in Pessoa; overriden method is final
public final String getNome(){
^
1 error
Resumindo: variáveis marcadas com final não poder sofrer alterações. Classes marcadas como final não podem ter classes derivadas. Métodos marcados como final não podem ser sobrescritos. |
Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais |
Saiba o que é Reflexão (Reflection) em Java - Como usar Reflexão (Reflection) na linguagem Java - RevisadoQuantidade de visualizações: 18785 vezes |
|
Reflection (ou Reflexão), também conhecida como RTI (Runtime Type Information) em algumas linguagens, é um mecanismo para descobrir dados a respeito de um programa em tempo de execução. Reflection em Java nos permite descobrir informações sobre atributos ou membros (campos), métodos e construtores de classes. Podemos também operar nos campos e métodos que descobrimos. A Reflection permite o que é normalmente chamada de programação dinâmica em Java. A Reflection em Java é conseguida usando a Java Reflection API. Esta API consiste de classes nos pacotes java.lang e java.lang.reflect. Antes de prosseguirmos, veja um exemplo de como podemos listar todos os métodos públicos da classe Object:
package arquivodecodigos;
import java.lang.reflect.*;
public class Estudos{
public static void main(String args[]){
// vamos carregar a classe Object
try{
Class c = Class.forName("java.lang.Object");
// obtém os nomes dos métodos
Method[] metodos = c.getMethods();
// exibe o nome de cada método
for(int i = 0; i < metodos.length; i++){
System.out.println(metodos[i].getName());
}
}
catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
System.exit(0);
}
}
Ao executarmos este código nós teremos o seguinte resultado: wait wait wait equals toString hashCode getClass notify notifyAll Eis uma lista das coisas que podemos fazer com a Java Reflection API: 1) Determinar a classe de um objeto; 2) Obter informações sobre os modificadores, campos (atributos), métodos, construtores e superclasses de uma classe; 3) Descobrir quais constantes e declarações de métodos pertencem a uma interface; 4) Criar uma instância de uma classe cujo nome não sabemos até o tempo de execução; 5) Obter e definir o valor do campo de um objeto; 6) Invocar um método em um objeto; 7) Criar um novo array, cujo tamanho e tipo de dados só saberemos em tempo de execução. A Java Reflection API é geralmente usada para criar ferramentas de desenvolvimento tais como debuggers, class browsers e construtores de GUI. Geralmente, neste tipo de ferramentas, precisamos interagir como classes, objetos, métodos e campos, e não sabemos quais em tempo de compilação. Assim, a aplicação deve, dinamicamente, encontrar e acessar estes itens. Esta dica foi revisada e testada no Java 8. |
Java ::: Dicas & Truques ::: Formulários e Janelas |
Java Swing - Como centralizar a janela JFrame ao abrir a aplicação Java SwingQuantidade de visualizações: 21093 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);
}
}
|
C# ::: Coleções (Collections) ::: ArrayList |
Como excluir todos os elementos de uma ArrayList do C# usando o método Clear()Quantidade de visualizações: 8861 vezes |
|
A remoção, ou seja, a exclusão de todos os elementos de uma ArrayList do C# pode ser feita com uma chamada ao método Clear(). Veja que este método poderá lançar uma exceção NotSupportedException se a ArrayList for somente leitura ou possuir um tamanho fixo. Veja um exemplo de seu uso:
using System;
using System.Collections;
namespace Estudos {
class Program {
static void Main(string[] args) {
// Cria o ArrayList
ArrayList cidades = new ArrayList();
// Adiciona nomes de cidades
cidades.Add("Goiânia");
cidades.Add("Cuiabá");
cidades.Add("Fortaleza");
cidades.Add("Curitiba");
// obtém a quantidade de elementos
int quant = cidades.Count;
Console.Write("A lista contém {0} itens\n", quant);
// vamos remover todos os elementos
cidades.Clear();
// obtém a quantidade de elementos novamente
quant = cidades.Count;
Console.Write("A lista contém {0} itens", quant);
Console.WriteLine("\n\nPressione uma tecla para sair...");
Console.ReadKey();
}
}
}
Ao executar este código C# nós teremos o seguinte resultado: A lista contém 4 itens A lista contém 0 itens Pressione uma tecla para sair... |
Desafios, Exercícios e Algoritmos Resolvidos de C# |
Veja mais Dicas e truques de C# |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |




