package br.edu.ifsp.lp3a5.aula6;
public class Exemplo1 {
public static double multiplicarPorDez(double n) {
return n * 10;
}
public static double dividirPorCinco(double n) {
return n / 5;
}
public static double arredondar(double n) {
return Math.round(n);
}
public static double aplicarOperacao(double n1) {
final double n2 = multiplicarPorDez(n1);
final double n3 = dividirPorCinco(n2);
final double n4 = arredondar(n3);
return n4;
}
public static void main(String[] args) {
System.out.println("Saida = " + aplicarOperacao(12));
}
}
package br.edu.ifsp.lp3a5.aula6;
public class Exemplo2 {
public static double multiplicarPorDez(double n) {
return n * 10;
}
public static double dividirPorCinco(double n) {
return n / 5;
}
public static double arredondar(double n) {
return Math.round(n);
}
public static double aplicarOperacao(double n1) {
return arredondar( dividirPorCinco( multiplicarPorDez( n1 ) ) );
}
public static void main(String[] args) {
System.out.println("Saida = " + aplicarOperacao(20.5));
}
}
package br.edu.ifsp.lp3a5.aula6;
import java.util.Optional;
public class Exemplo3 {
public static Optional<Double> multiplicarPorDez(Double n) {
return Optional.of( n * 10 );
}
public static Optional<Double> dividirPorCinco(Double n) {
return Optional.of( n / 5 );
}
public static Optional<Double> arredondar(Double n) {
return Optional.of( Double.valueOf( Math.round(n) ) );
}
public static Optional<Double> aplicarOperacao(Double n1) {
return multiplicarPorDez(n1)
.flatMap( n -> dividirPorCinco( n ))
.flatMap( n -> arredondar( n ) );
}
public static void main(String[] args) {
final Double entrada = null;
final Optional<Double> optEntrada = Optional.ofNullable(entrada);
optEntrada
.ifPresent( n -> aplicarOperacao( n ).ifPresent( System.out::println ) );
optEntrada
.ifPresentOrElse(
n -> aplicarOperacao( n ).ifPresent( System.out::println )
, () -> System.out.println("Valor informado não pode ser nulo.") );
}
}