Java ::: Reflection (introspecção) e RTI (Runtime Type Information) ::: Passos Iniciais |
Como retornar o nome de uma classe Java usando os métodos getClass() e getName()Quantidade de visualizações: 14353 vezes |
|
Entre os métodos que uma classe herda da classe Object, está o método getClass(). Este método retorna um objeto da classe Class e podemos tirar proveito disso para fazer em encadeamento e chamar também o método getName() para obter o nome de uma determinada classe. Veja o exemplo no qual obtemos uma String contendo o nome de uma classe (juntamente com o nome do pacote ao qual ela pertence):
import javax.swing.*;
public class Estudos{
public static void main(String args[]){
JButton btn = new JButton();
String nomeClasse = btn.getClass().getName();
System.out.println(nomeClasse);
// exibirá: "javax.swing.JButton"
System.exit(0);
}
}
Ao executarmos este código nós teremos o seguinte resultado: javax.swing.JButton |
C ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Como usar protótipos de função em CQuantidade de visualizações: 12905 vezes |
Um protótipo de função é uma declaração que define o nome, tipos de parâmetros e tipos de retorno de uma função. Em geral o protótipo de uma função é exigido quando a definição da função não é feita antes do código que efetua uma chamada a ela. Veja um exemplo:
#include <stdio.h>
#include <stdlib.h>
// uma função que retorna a soma de dois inteiros
// fornecidos como argumento
int somar(int a, int b){
return (a + b);
}
int main(int argc, char *argv[]){
// efetua uma chamada à função somar
int res = somar(3, 5);
// exibe o resultado
printf("Soma: %d", res);
puts("\n\n");
system("PAUSE");
return 0;
}
Este código compila e executa normalmente, uma vez que a função somar() foi definida antes da função main(), ou seja, antes da parte do programa que possui uma chamada a ela. Veja agora esta nova versão:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[]){
// efetua uma chamada à função somar
int res = somar(3, 5);
// exibe o resultado
printf("Soma: %d", res);
puts("\n\n");
system("PAUSE");
return 0;
}
// uma função que retorna a soma de dois inteiros
// fornecidos como argumento
int somar(int a, int b){
return (a + b);
}
Aqui temos um problema: a função somar() é definida depois do código contendo uma chamada a ela. No Dev-C++ temos o seguinte erro de compilação: `somar` undeclared (first use this function) A solução para este casos é a criação do protótipo da função. Para a função somar() isso pode ser feito da seguinte forma: // protótipo da função somar() int somar(int, int); Note que não há a necessidade de especificar os nomes dos parâmetros da função, apenas seus tipos. Veja ainda que o protótipo da função é terminado com ponto-e-vírgula e sempre colocado após as instruções de #include. Veja o código completo para um exemplo usando protótipos de funções:
#include <stdio.h>
#include <stdlib.h>
// protótipo da função somar()
int somar(int, int);
int main(int argc, char *argv[]){
// efetua uma chamada à função somar
int res = somar(3, 5);
// exibe o resultado
printf("Soma: %d", res);
puts("\n\n");
system("PAUSE");
return 0;
}
// uma função que retorna a soma de dois inteiros
// fornecidos como argumento
int somar(int a, int b){
return (a + b);
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Escrever um algoritmo que lê o público total de um jogo de futebol e fornece a renda do jogoQuantidade de visualizações: 8078 vezes |
|
Pergunta/Tarefa: Em um determinado jogo de futebol havia 4 tipos de ingressos, assim distribuídos: popular 10% a R$ 1,00; geral 50% a R$ 5,00; arquibancada 30% a R$ 10,00 e cadeiras 10% a R$ 20,00. Escreva um programa (algoritmo) Java que leia o público total do jogo e forneça a renda obtida. Um outro enunciado muito comum deste exercício é: Escrever um algoritmo que lê o público total de futebol e fornecer a renda do jogo, sabendo-se que havia 4 tipos de ingressos assim distribuídos: popular 10% a R$ 1,00, geral 50% a R$ 5,00, arquibancada 30% a R$10,00 e cadeiras 10% a R$ 20,00. Sua saída deverá ser parecida com: Informe o público total do jogo de futebol: 10000 Renda geral do jogo: R$ 76.000,00 Veja a resolução comentada deste exercício usando Java:
package estudos;
import java.text.NumberFormat;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// vamos fazer a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos obter o público total do jogo de futebol
System.out.print("Informe o público total do jogo de futebol: ");
int publico = Integer.parseInt(entrada.nextLine());
// renda do ingresso popular
double popular = (publico * (10.0 / 100)) * 1.00;
// renda do ingresso geral
double geral = (publico * (50.0 / 100)) * 5.00;
// renda do ingresso arquibancada
double arquibancada = (publico * (30.0 / 100)) * 10.00;
// renda do ingresso cadeiras
double cadeiras = (publico * (10.0 / 100)) * 20.00;
// obtemos a renda total
double renda_total = popular + geral + arquibancada + cadeiras;
// e exibimos o resultado
NumberFormat formato = NumberFormat.getCurrencyInstance();
System.out.println("Renda geral do jogo: " + formato.format(renda_total));
}
}
|
Java ::: Coleções (Collections) ::: HashSet |
Java Collections - Como usar a classe HashSet em seus programas JavaQuantidade de visualizações: 5777 vezes |
A classe HashSet, no pacote java.util, é uma classe concreta que implementa a interface Set. Na maioria das vezes nós usamos objetos desta classe para armazenar elementos não duplicados (ainda que o elemento null seja permitido). Veja sua posição na hierarquia de classes da plataforma Java:
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractSet<E>
java.util.HashSet<E>
Veja um trecho de código no qual inserimos cinco elementos do tipo String em um HashSet e os listamos em seguida:
package estudos;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Estudos{
public static void main(String[] args) {
// vamos criar uma instância da classe HashSet
Set<String> conjunto = new HashSet<>();
// vamos inserir cinco Strings neste conjunto
conjunto.add(null); // o elemento null é permitido
conjunto.add("Marcos");
conjunto.add("Osmar");
conjunto.add("Osmar"); // elemento duplicado aqui
conjunto.add("Fernanda");
// vamos exibir os elementos
Iterator iterator = conjunto.iterator();
while(iterator.hasNext()){
System.out.println(iterator.next());
}
}
}
Ao executarmos este código teremos o seguinte resultado: null Fernanda Marcos Abel Osmar |
Nossas 20 dicas & truques de programação mais populares |
|
Python - Datas e horas em Python - Como obter a hora como um decimal no intervalo 00-12 (formato 12 horas) C - Como escrever uma função strtoupper() em C para transformar uma palavra inteira em letras maiúsculas |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Java Swing - Como criar sua primeira JTree usando um vetor de nomes de linguagens de programação Python - Exercício Resolvido de Python NumPy - Como somar duas matrizes usando a biblioteca NumPy do Python TypeScript - Como calcular o coeficiente angular de uma reta em TypeScript dados dois pontos no plano cartesiano JavaScript - Como remover elementos duplicados de um array em JavaScript usando um Set e o método Array.from() |
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 |





