Usei e abusei do String.format() para poder pegar o jeito.
Aliás, coisa curiosa que aprendi durante a resolução do último desafio: para imprimir % dentro de um String.format() é preciso que a % seja colocada duas vezes em sequência. Dei uma lida no erro java.util.UnknownFormatConversionException e aprendi.
Por exemplo:
String.format("%"); //Resultará em erro
String.format("%%"); //Imprimirá %
Resolução dos desafios:
public class DesafioCasting {
public static void main(String[] args) {
// Desafio 1 = Media
double nota1 = 9.8;
double nota2 = 8.7;
double media = (nota1 + nota2) / 2;
System.out.println("A média das notas é: " + media);
//Desafio 2 = Casting
double variavel1 = 9.2;
int variavel2 = (int) variavel1;
System.out.println(String.format("O valor da variável 1 é: %.1f. O valor da variável 2 após o casting é: %d",variavel1, variavel2 ));
//Desafio 3 = Frase
char letra = 'A';
String palavra = "ftersun";
String mensagem = letra + palavra + " é o meu filme favorito.";
System.out.println(mensagem);
//Desafio 4 = Produto
double precoProduto = 10.99;
int quantidade = 24;
double totalProduto = precoProduto * quantidade;
System.out.println(String.format("O valor individual de cada produto é R$%.2f, no carrinho há %d produtos, resultando num valor total de: R$%.2f", precoProduto, quantidade, totalProduto));
//Desafio 5
double valorEmDolares = 3.51;
double cotacaoAtual = 4.94;
double valorEmReais = valorEmDolares * cotacaoAtual;
System.out.println(String.format("Eu possuo %.2f doláres, o que equivale a %.2f reais. Cotação atual: 1 Dólar americano igual a %.2f Real brasileiro.", valorEmDolares, valorEmReais, cotacaoAtual));
//Desafio 6
double precoOriginal = 1.99;
double percentualDesconto = 10;
double precoComDesconto = precoOriginal - (precoOriginal * (percentualDesconto / 100));
System.out.println(String.format("O preço original do produto é R$%.2f, entretanto, você possui um desconto de %.2f%%. Valor do produto com desconto: R$%.2f", precoOriginal, percentualDesconto, precoComDesconto));
}
}