Ojo con lo que puso Fishykiller2 que si uitilizas esa funcion te dara error por 2 razones.
1. Al multiplicar un int por un float o double el resultante sera float o double, por tanto al guardar el valor en "resultado" estas generando un error de tipado. Tendrias que castearlo a int:
resultado = (int)((monto*0.90)*1.16);
2. Al poner un int (igual que cualquier tipo primitivo) en la funcion obligas que el resultado sea igual al tipo declarado (en este caso int) y no puede ser null (a parte de que para poder renornar un valor nulo con un objeto, este tiene que ser puesto expresamente como nulo). Por tanto la funcion estara erronea ya que existe la posibilidad de que monto sea igual a 1000 y el valor resultado nunca se defina.
Algo mas apropiado es:
public int factura(int monto){
int resultado = 0;
if(monto>1000){
resultado = (int)((monto*0.90)*1.16);
} else if (monto<1000){
resultado = (int)(monto*1.16);
}
return resultado;
}
PD: No queria poner código pero quiero evitar el error de antemano.