Você está aqui: Cards de Hidrostática |
||
|
||
|
|
||
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Laços de Repetição |
Exercícios Resolvidos de Java - Escreva um programa (algorítmo) Java que usa o laço do...while para ler um número indeterminado de idades. A condição de parada do laço é o valor da idade igual a 0Quantidade de visualizações: 9417 vezes |
|
Pergunta/Tarefa: Escreva um programa (algorítmo) Java que usa o laço do...while para ler um número indeterminado de idades de algumas pessoas. A condição de parada do laço é o valor da idade igual a 0. Calcule a escreva a idade média deste grupo de pessoas. Sua saída deverá ser parecida com: Informe a idade: 19 Informe a idade: 30 Informe a idade: 21 Informe a idade: 45 Informe a idade: 0 A idade média é: 28.75 Veja a resolução comentada deste exercício usando Java console:
package exercicios;
import java.util.Scanner;
public class Exercicios {
public static void main(String[] args) {
// vamos efetuar a leitura usando a classe Scanner
Scanner entrada = new Scanner(System.in);
int idade; // guarda a idade lida de cada indivíduo
double idade_media; // a idade média calculada
int soma = 0; // a soma das idades de cada indivíduo
int contador = 0; // conta as idades lidas
// laço do...while que repetirá até que o valor da idade seja 0
do{
System.out.print("Informe a idade: ");
idade = Integer.parseInt(entrada.nextLine());
// a idade lida é diferente de 0?
if(idade != 0){
soma = soma + idade; // soma mais esta idade
contador++; // aumenta a quantidade de idades lidas
}
}while(idade != 0);
// calcula a idade média
// note que forcei contador para o tipo double antes da divisão
// isso faz com que o resultado seja do tipo double
idade_media = soma / (contador * 1.0);
// finalmente mostramos o resultado
System.out.println("A idade média é: " + idade_media);
}
}
|
Java ::: Dicas & Truques ::: Arquivos e Diretórios |
Manipulação de arquivos em Java - Como ler o conteúdo de um arquivo um byte de cada vezQuantidade de visualizações: 3 vezes |
|
Nesta dica mostrarei como ler texto de um arquivo um byte de cada vez. Para isso vamos usar o método readByte() da classe DataInputStream, do pacote java.io. Note que este método retorna um inteiro com sinal na faixa de -128 até 127. Neste exemplo faremos um cast do byte lido para um char, já que estaremos lendo um arquivo de texto. Sim, é isso mesmo que você pensou. Se houver caracteres acentuados no arquivo texto, os mesmo não serão exibidos corretamente. A idéia do exemplo é mostrar o funcionamento do método readByte(). Veja o código Java completo:
package arquivodecodigos;
import java.io.*;
public class Estudos{
public static void main(String[] args){
try {
DataInputStream in = new DataInputStream(new BufferedInputStream(
new FileInputStream("C:\\java\\conteudo.txt")));
while (in.available() != 0){
System.out.print((char) in.readByte());
}
}
catch (IOException e){
System.out.println("Erro: " + e.getMessage());
}
System.exit(0);
}
}
Ao executarmos este código nós teremos o seguinte resultado: Primeira linha do arquivo Segunda linha do arquivo Terceira linha do arquivo |
Python ::: Dicas & Truques ::: Rotinas de Conversão |
Como converter uma string para um valor numérico inteiro usando a função int() do PythonQuantidade de visualizações: 20875 vezes |
|
Em algumas situações precisamos converter uma string ou a entrada do usuário para um valor inteiro. Isso pode ser feito por meio da função nativa int(). Esta função recebe uma string (conjunto de dígitos, letras e símbolos) e a converte (ou pelo menos tenta) em um valor inteiro. Veja um exemplo:
"""
Este trecho de código mostra como
ler dois valores informados pelo usuário,
convertê-los para inteiros e efetuar
uma soma.
A função int() é usada para converter uma string
ou valor numérico para um inteiro.
"""
def main():
# vamos ler os dois valores
val1 = input("Informe o primeiro número: ")
val2 = input("Informe o segundo número: ")
soma = int(val1) + int(val2);
print("A soma dos valores é: ", soma)
if __name__== "__main__":
main()
A saída deste código será parecida com: Informe o primeiro número: 12 Informe o segundo número: 8 A soma dos valores é: 20 Note que, por padrão, a função int() converte a string para um valor inteiro usando a base 10, ou seja, a base decimal. É possível fornecer uma base diferente. Veja, por exemplo, como ler uma string contendo um valor binário:
def main():
# vamos ler um valor binário. Ex: 0101
binario = input("Informe um valor binário: ")
print("O valor lido foi:", int(binario, 2))
if __name__== "__main__":
main()
O resultado da execução desse código será algo como: Informe um valor binário: 0101 O valor lido foi: 5 |
Java ::: Pacote java.lang ::: Character |
Como usar o método isDigit() da classe Character da linguagem Java para verificar se um caractere é um dígito de 0 a 9Quantidade de visualizações: 9831 vezes |
|
Em algumas situações, principalmente quando estamos validando dados informados pelo usuário, pode ser necessário verificar se um determinado caractere é um dígito de 0 a 9. Isso pode ser feito por meio do método isDigit() da classe Character. Este método estático recebe um caractere como argumento e retorna true se o caractere for um dígito e false em caso contrário. Veja um exemplo no qual lemos um caractere informado pelo usuário e informamos se o mesmo é um dígito ou não:
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
// vamos pedir ao usuário para informar um caractere qualquer
char caractere = JOptionPane.showInputDialog("Informe um caractere:").charAt(0);
// vamos testar se o caractere informado é um dígito
if(Character.isDigit(caractere)){
JOptionPane.showMessageDialog(null, "O caractere informado é um dígito");
}
else{
JOptionPane.showMessageDialog(null, "O caractere informado não é um dígito");
}
}
}
Uma outra forma de verificar se um determinado caractere é um dígito é testar se o retorno de uma chamada ao método estático getType() da classe Character é a constante DECIMAL_DIGIT_NUMBER, também definida na classe Character. Veja uma modificação do exemplo anterior:
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
// vamos pedir ao usuário para informar um caractere qualquer
char caractere = JOptionPane.showInputDialog("Informe um caractere:").charAt(0);
// vamos testar se o caractere informado é um dígito
if(Character.getType(caractere) == Character.DECIMAL_DIGIT_NUMBER){
JOptionPane.showMessageDialog(null, "O caractere informado é um dígito");
}
else{
JOptionPane.showMessageDialog(null, "O caractere informado não é um dígito");
}
}
}
Finalmente, veja como ler uma string e verificar se ela contém apenas dígitos de 0 a 9:
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
// vamos pedir ao usuário para informar uma string
String str = JOptionPane.showInputDialog("Informe uma string:");
// vamos verificar se a string contém apenas dígitos de 0 a 9
boolean soDigitos = true;
// percorre todos os caracteres da string
for(int i = 0; i < str.length(); i++){
if(!Character.isDigit(str.charAt(i))){
soDigitos = false;
break;
}
}
if(soDigitos){
JOptionPane.showMessageDialog(null, "A string contém apenas dígitos");
}
else{
JOptionPane.showMessageDialog(null, "A string não contém somente dígitos");
}
}
}
|
Java ::: Java Swing - Componentes Visuais ::: JPanel |
Como fazer uma sub-classe de JPanel para desenhar um gráfico no Java SwingQuantidade de visualizações: 12346 vezes |
|
Nesta dica mostrarei como podemos criar uma classe Desenho que herda da classe JPanel do Java Swing para criar uma área de desenho. Esta é uma das práticas mais comuns quando queremos desenhar gráficos ou exibir imagens em Java Swing. Note como sobrescrevemos o método paintComponent(Graphics g) herdado da classe JPanel para pintar o fundo do painel na cor amarela e depois desenhamos um retângulo azul. Veja o código Java Swing completo para o exemplo:
package estudos;
import java.awt.*;
import javax.swing.*;
public class Estudos extends JFrame{
public Estudos() {
super("A classe JPanel");
Container c = getContentPane();
Desenho desenho = new Desenho();
c.add(desenho);
setSize(350, 250);
setVisible(true);
}
public static void main(String args[]){
Estudos app = new Estudos();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
// Sub-classe de JPanel
class Desenho extends JPanel{
public void paintComponent(Graphics g){
super.paintComponent(g);
// Define a cor de fundo
setBackground(Color.YELLOW);
// Desenha um quadrado na cor azul
g.setColor(Color.BLUE);
g.fillRect(10, 10, 100, 100);
}
}
|
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 |





