Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercícios Resolvidos de Java - Ler um número inteiro, separar seus dígitos e imprimí-los individualmente separados por espaçosQuantidade de visualizações: 19950 vezes |
|
Pergunta/Tarefa: Escreva um programa Java console ou GUI que leia um inteiro de três dígitos, separe o valor em seus dígitos correspondentes e imprima-os individualmente separados por espaço. Por exemplo, se o usuário informar o valor 398, seu programa deverá exibir 3 9 8. Veja a saída que deverá ser gerada (use apenas os operadores aritméticos para a realização desta tarefa): Informe um valor inteiro de três dígitos: 398 Os dígitos separados são: 3 9 8 Veja a resolução comentada deste exercício usando Java console:
public static void main(String[] args){
// não se esqueça de adicionar um import para a classe Scanner
// import java.util.Scanner;
// vamos criar um objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos solicitar ao usuário que informe um valor inteiro
// na faixa 100 a 999 (incluindo)
System.out.print("Informe um valor inteiro de três dígitos: ");
// vamos ler o valor informado
int valor = Integer.parseInt(entrada.next());
// vamos verificar se o valor está na faixa permitida
if(valor < 100 || valor > 999){
System.out.println("Valor fora da faixa permitida");
System.exit(0);
}
// vamos extrair os dígitos indidualmente, da esquerda para a direita
// vamos obter o primeiro dígito
int primeiro = valor / 100;
valor = valor % 100;
// vamos obter o segundo dígito
int segundo = valor / 10;
valor = valor % 10;
// vamos obter o terceiro valor
int terceiro = valor;
System.out.println("Os dígitos separados são: " + primeiro + " " +
segundo + " " + terceiro);
}
|
Java ::: Java Swing - Componentes Visuais ::: JList |
Como retornar os valores selecionados em uma JList de seleção múltipla do Java Swing usando o método getSelectedValues()Quantidade de visualizações: 9983 vezes |
|
Nesta dica mostrarei como podemos usar o método getSelectedValues() da classe JList do Java Swing para obter e retornar um vetor (array) contendo os valores selecionados em uma lista de múltipla seleção, ou seja, uma JList que permite a seleção de mais de um elemento por vez. O método getSelectedValues() retorna um vetor de Object. Note também o uso da constante ListSelectionModel.MULTIPLE_INTERVAL_SELECTION fornecida para o método setSelectionMode() para definir a forma de seleção da JList. Veja o código Java Swing completo para o exemplo:
package estudos;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class Estudos extends JFrame{
JList lista;
public Estudos() {
super("A classe JList");
Container c = getContentPane();
c.setLayout(new FlowLayout(FlowLayout.LEFT));
// Cria os itens da lista
String nomes[] = {"Carlos", "Marcelo", "Fabiana",
"Carolina", "Osmar"};
// Cria a JList
lista = new JList(nomes);
// Define a seleção múltipla para a lista
lista.setSelectionMode(
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
// Um botão que permite obter os valores selecionados
JButton btn = new JButton("Obter valores selecionados");
btn.addActionListener(
new ActionListener(){
@Override
public void actionPerformed(ActionEvent e){
Object[] valores = lista.getSelectedValues();
String res = "Valores selecionados:\n";
for(int i = 0; i < valores.length; i++)
res += valores[i].toString() + "\n";
JOptionPane.showMessageDialog(null, res);
}
}
);
// Adiciona a lista à janela
c.add(new JScrollPane(lista));
// Adiciona o botão à janela
c.add(btn);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Mais de um valor pode ser marcado na JList mantendo a tecla Ctrl ou Shift enquanto se clica nos valores desejados. |
PHP ::: Dicas & Truques ::: Programação Orientada a Objetos |
Programação Orientada a Objetos em PHP - Como criar e usar variáveis estáticas em PHPQuantidade de visualizações: 10449 vezes |
|
Como já vimos em outras dicas desta seção, uma classe possui propriedades (variáveis) e métodos. Dessa forma, cada instância (cópia ou objeto) desta classe possui suas próprias cópias das variáveis declaradas na classe. Veja a seguinte declaração de uma classe Produto:
<?
// classe Produto com duas variáveis privadas e seus
// correspondentes métodos mutatórios e acessórios
class Produto{
private $nome;
private $preco;
public function setNome($nome){
$this->nome = $nome;
}
public function getNome(){
return $this->nome;
}
public function setPreco($preco){
$this->preco = $preco;
}
public function getPreco(){
return $this->preco;
}
}
?>
Aqui cada instância da classe Produto terá suas próprias variáveis $nome e $preco. Há, porém, situações nas quais gostaríamos que uma determinada variável pertencesse à classe e não à cada instância individual. Um bom exemplo disso seria uma variável que registra a quantidade de instâncias que temos de uma classe ou a técnica de se atribuir um identificador único a cada instância da classe. Variáveis estáticas em PHP podem ser criadas por meio do uso da palavra-chave static. É comum tais variáveis serem declaradas com o modificador public, o que as torna acessíveis fora da classe na qual estas estão declaradas. Veja um exemplo:
<?
// classe Produto com duas variáveis privadas e seus
// correspondentes métodos mutatórios e acessórios
class Produto{
private $nome;
private $preco;
// uma variável estática que permite contar as instâncias
// desta classe
public static $contador = 0;
// construtor da classe Produto
function __construct(){
// vamos incrementar o contador aqui
self::$contador++;
}
}
// vamos criar duas instâncias da classe Produto
$p1 = new Produto();
$p2 = new Produto();
// vamos obter o valor do contador de instâncias
echo "Até este momento já criamos " . Produto::$contador .
" instâncias da classe Produto";
?>
Este código possui alguns pontos interessantes e merece uma análise bem detalhada. Perceba que, dentro da classe, uma variável estática é acessada usando-se self e não $this, como fazemos com as variáveis de instâncias. Outra observação interessante é em relação ao acesso da variável estática fora da classe. Aqui nós usamos o nome da classe seguida por um par de dois pontos "::" e não por meio de referências às suas instâncias individuais. Finalmente observe o construtor da classe. A cada instância construída nós acessamos a variável estática e incrementamos seu valor em 1. É importante observar que variáveis estáticas não podem ser acessadas por meio de referências às instâncias da classe usando o operador "->". Assim, o trecho de código abaixo: // vamos tentar alterar o valor da variável estática por meio // de uma referência a uma das instâncias da classe Produto $p1->contador = 5; não provoca erros mas, também não traz o resultado esperado. |
Java ::: Dicas & Truques ::: Fuso Horários |
Como representar fuso horário em Java usando a classe TimeZoneQuantidade de visualizações: 13401 vezes |
A classe abstrata TimeZone (do pacote java.util) representa um determinado fuso horário e também identifica o horário de verão (daylight savings) de um determinado país ou região. Veja sua posição na hierarquia de classes Java:java.lang.Object java.util.TimeZone A melhor forma de entender o fuso horário, é consultando suas configurações regionais no Painel de Controle de seu sistema. É comum, em máquinas brasileiras encontrarmos o fuso horário "GMT -03:00 - Brasilia". Isso quer dizer que a hora oficial do Brasil é -3 horas em relação ao horário de Greenwich, Londres. Não podemos nos esquecer do horário de verão, que reduz esta diferença para -2 horas na maior parte do país. Por padrão, A JVM detecta e trabalha com o fuso horário da máquina na qual está sendo executada. Veja um trecho de código que obtém este TimeZone padrão:
import java.util.*;
public class Estudos{
public static void main(String args[]){
TimeZone timeZone = TimeZone.getDefault();
System.out.println(timeZone.getDisplayName());
System.out.println(timeZone.getID());
}
}
Ao executar este código você terá um resultado semelhante à: Brasilia Time America/Sao_Paulo Aqui nós usamos o método estático getDefault() para retornar o TimeZone padrão e os métodos de instância getDisplayName() e getID() para obter as informações sobre o fuso horário. |
Nossas 20 dicas & truques de programação mais populares |
|
Java - Como usar o método next() da interface Iterator do Java para obter o próximo elemento da iteração Python - Como calcular o coeficiente angular de uma reta em Python dados dois pontos no plano cartesiano C# - Como adicionar ou subtrair meses de uma data em C# usando a função AddMonths() da classe DateTime |
Você também poderá gostar das dicas e truques de programação abaixo |
|
Java - Como usar a classe Character da linguagem Java para tratar caracteres individuais em seus programas Python - Como contar quantas vezes um elemento aparece em uma lista do Python usando a função count() Python - Como calcular o coeficiente angular de uma reta em Python dados dois pontos no plano cartesiano AutoCAD Civil 3D - Como criar pontos COGO no AutoCAD Civil 3D |
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 |






