Você está aqui: Cards de AutoCAD Civil 3D |
||
|
||
|
|
||
Java ::: Tratamento de Erros ::: Erros de Tempo de Execução |
Como corrigir um erro ClassCastException em Java - Como tratar a exceção ClassCastException do JavaQuantidade de visualizações: 17448 vezes |
|
A exceção ClassCastException é um erro de tempo de execução que ocorre quando tentamos fazer um cast (coerção - conversão explícita) de uma classe para outra classe diferente desta ou que não seja uma superclasse desta. Em outras palavras, casts válidos para classes e interfaces devem seguir as regras abaixo: 1) Se NovoTipo é uma classe, a classe da expressão sendo convertida deve ser do tipo NovoTipo ou herdar de NovoTipo. 2) Se NovoTipo é uma interface, a classe da expressão sendo convertida deve implementar NovoTipo. Considere o código a seguir:
public class Estudos{
public static void main(String args[]){
Object x = new Integer(0);
System.out.println((String)x);
}
}
Este código compila normalmente. Porém, ao ser executado, a seguinte mensagem de erro é exibida: Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at Estudos.main(Estudos.java:4) Esta mensagem nos informa que a classe Integer não pode sofrer um cast para String, uma vez que Integer não é e nem herda de String. Veja agora a nova versão:
public class Estudos{
public static void main(String args[]){
Object x = new Integer(0);
System.out.println((Integer)x);
}
}
Veja que agora nós estamos fazendo o cast de uma referência Object para Integer. Embora Object não seja e nem herde de Integer, o sistema de tempo de execução sabe que x guarda atualmente uma referência a um Integer: Object x = new Integer(0); |
Rust ::: Fundamentos da Linguagem ::: Compilador rustc |
Como escrever um "Hello, World!" na linguagem Rust usando a ferramenta rustcQuantidade de visualizações: 867 vezes |
|
Então você já fez a instalação do Rust, testou o seu funcionamento disparando "rustc --version" em uma janela de terminal e agora quer começar a aprender mais sobre a linguagem? Que tal começar escrevendo o famoso "Hello, World!" ("Olá, Mundo!")? Nesta dica mostrarei como essa tarefa é fácil, principalmente se optarmos pelo uso da ferramenta rustc. Lembre-se, no entanto, que rustc é usado diretamente quando estamos escrevendo aplicações simples, provas de conceito, protótipos e coisas assim. Para aplicações mais complexas, é sempre recomendado o uso do Cargo, que é um sistema de build e gerenciador de pacotes do Rust. Então vamos começar. Abra o seu editor de códigos favorito (tal como o Notepad++) e digite a seguinte listagem:
fn main() {
println!("Hello, world! Aqui é Rust na veia.");
}
Salve este arquivo como "estudos.rs" no diretório de sua preferência. Aqui eu optei por salvá-lo em um diretório chamado "C:\estudos_rust". Agora vamos compilar nosso programa Rust. Abra uma janela de terminal e navegue até o diretório que você salvou o arquivo "estudos.rs" e dispare o comando abaixo: C:\Users\Osmar>cd c:\estudos_rust c:\estudos_rust>rustc estudos.rs Se tudo correr bem, você verá a criação de um arquivo "estudos.exe". Para executá-lo pela linha de comando nós só precisamos disparar: c:\estudos_rust>estudos Hello, world! Aqui é Rust na veia. Simples, né? No entanto, se dermos duplo-clique em cima do executável gerado, ele abre e fecha automaticamente. Não seria bom exibir uma mensagem do tipo "Pressione uma tecla para fechar..."? Basta modificar seu código para a versão abaixo:
// importamos a biblioteca io
use std::io;
use std::io::Write;
fn main() {
println!("Hello, world! Aqui é Rust na veia.");
// procedimento para pausar o programa
let mut resposta = String::new();
print!("\nPressione Enter para sair...");
io::stdout().flush().unwrap();
io::stdin().read_line(&mut resposta)
.expect("Erro ao ler a entrada do usuário");
}
Sim, eu sei que agora nós adicionamos código demais para alcançar um detalhe tão simples. Mas, à medida que a linguagem Rust evolui, talvez os desenvolvedores resolvam simplificar esta parte. Compile o programa novamente e experimente abrir o executável com duplo-clique. Você verá que agora o programa fica aguardando o pressionamento da tecla Enter para fechar. |
Python ::: Dicas & Truques ::: Matemática e Estatística |
Como obter o resto de uma divisão de inteiros em Python - O operador módulo % da linguagem PythonQuantidade de visualizações: 20544 vezes |
|
Como obter o resto de uma divisão de inteiros em Python - O operador módulo % da linguagem Python Além dos operadores normais para aritmética, a linguagem Python nos fornece também o operador %, chamado comumente de operador de módulo. Este operador atua sobre dois valores inteiros e retorna o resto da divisão entre eles. Veja um exemplo completo de seu uso:
def main():
a = 9
b = 2
res = a / b
resto = a % b
print(a, "dividido por", b, "é", res)
print("O resto da divisao é", resto)
if __name__== "__main__":
main()
Ao executarmos este código Python nós teremos o seguinte resultado: 9 dividido por 2 é 4.5 O resto da divisao é 1 |
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Java Básico |
Exercício Resolvido de Java - Escreva um algoritmo Java que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mêsQuantidade de visualizações: 11614 vezes |
|
Pergunta/Tarefa: Escreva um algoritmo Java que leia o nome de um vendedor, o seu salário fixo e o total de vendas efetuadas por ele no mês (em dinheiro). Sabendo que este vendedor ganha 15% de comissão sobre suas vendas efetuadas, informar o seu nome, o salário fixo e o salário no final do mês. Sua saída deverá ser parecida com: Nome do vendedor: CAMILA REIS Informe o salário fixo: 1850 Total de vendas efetuadas: 5000 Resultados: Nome do vendedor: CAMILA REIS Salário fixo: 1850.0 Salário final do mês: 2600.0 Veja a resolução deste exercício usando Java:
package estudos;
import java.util.Scanner;
public class Estudos {
public static void main(String[] args) {
// para ler a entrada do usuário
Scanner entrada = new Scanner(System.in);
// vamos ler o nome do vendedor
System.out.print("Nome do vendedor: ");
String nome = entrada.nextLine();
// vamos ler o salário fixo
System.out.print("Informe o salário fixo: ");
double salario_fixo = Double.parseDouble(entrada.nextLine());
// vamos o total de vendas efetuadas pelo vendedor
System.out.print("Total de vendas efetuadas: ");
double total_vendas = Double.parseDouble(entrada.nextLine());
// agora vamos calcular o total da comissão a ser paga
double total_comissao = total_vendas * (15.0 / 100.0);
// calculamos o salário final
double salario_final = salario_fixo + total_comissao;
// e mostramos os resultados
System.out.println("\nResultados:\n");
System.out.println("Nome do vendedor: " + nome);
System.out.println("Salário fixo: " + salario_fixo);
System.out.println("Salário final do mês: " + salario_final);
}
}
|
Java ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Java - Declarar e construir uma matriz de 10 int, pedir ao usuário para informar os valores dos elementos, mostrar a média dos valores informados e a quantidade de valores acima da médiaQuantidade de visualizações: 14221 vezes |
|
Pergunta/Tarefa: Escreva um programa Java console ou GUI que declara e constrói uma matriz de 10 inteiros. Em seguida peça ao usuário para informar os 10 valores e armazene-os na matriz. Finalmente obtenha a média aritmética dos valores informados e mostre quantos valores estão acima da média. Seu programa deverá exibir a seguinte saída (no caso de uma aplicação Console): Informe o 1º valor: 4 Informe o 2º valor: 12 Informe o 3º valor: 9 Informe o 4º valor: 6 Informe o 5º valor: 4 Informe o 6º valor: 3 Informe o 7º valor: 7 Informe o 8º valor: 2 Informe o 9º valor: 3 Informe o 10º valor: 1 A média dos valores é: 5.0 Quantidade de valores acima da média: 4 Resposta/Solução: Veja a resolução comentada deste exercício usando Java console:
package estudos;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// vamos declarar e instancia um objeto da classe Scanner
Scanner entrada = new Scanner(System.in);
// vamos declarar e construir uma matriz de 10 ints
int valores[] = new int[10];
double media; // média dos valores
int soma = 0; // soma dos valores lidos
int quantAcimaMedia = 0; // quantidade de valores acima da média
// vamos solicitar ao usuário que informe os 10 valores inteiros
// e vamos armazená-los na matriz
for(int i = 0; i < valores.length; i++){
System.out.print("Informe o " + (i + 1) + "º valor: ");
int valor = Integer.parseInt(entrada.nextLine());
valores[i] = valor;
// vamos adicionar este valor à soma
soma = soma + valor;
}
// vamos obter a média dos valores lidos
media = (soma / valores.length);
// agora precisamos obter a quantidade de valores acima da média
for(int i = 0; i < valores.length; i++){
if(valores[i] > media){
quantAcimaMedia++;
}
}
// vamos exibir os resultados
System.out.println("A média dos valores é: " + media);
System.out.println("Quantidade de valores acima da média: " +
quantAcimaMedia);
}
}
|
Mais Desafios de Programação e 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 |





