¿Cómo hacer un método de JAVA?

Iniciado por jheberg, 2 Mayo 2017, 17:16 PM

0 Miembros y 1 Visitante están viendo este tema.

jheberg

Hola, me dicen que realice un programa que tenga este método:
• Ingresar los datos de la factura (Número de factura y concepto)
Con java ¿cómo quedaría el código?

El ejercicio es el siguiente:
Calcular el iva de la factura. El método deberá recibir el monto de la venta de los 3 artículos, si el monto es mayor a 1000 aplicará un descuento del 10% a la factura y después del descuento calculará el 16% de iva, si el monto de la factura no es mayor a 1000 sólo calculará el 16% de iva.

engel lex

no se hacen tareas... muestra lo que llevas y explica tus dudas
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

jheberg

Cita de: engel lex en  2 Mayo 2017, 17:23 PM
no se hacen tareas... muestra lo que llevas y explica tus dudas

De hecho, son varios métodos los que tengo que hacer yo solo quiero un ejemplo  :rolleyes:

3n31ch

#3
Cita de: engel lex en  2 Mayo 2017, 17:23 PM
no se hacen tareas... muestra lo que llevas y explica tus dudas

Si engel lex dice que no. Sera que no.

(Lo lamento pero se dice que alguien le llevo la contraria una vez... y desapareció)  :-X

Solo dejare esto: http://lineadecodigo.com/java/crear-un-metodo-en-java/

Fishykiller2

Bueno un poco de ayuda que estos son muy malos jejeje ..  :P :P :


public int factura(int monto){

int resultado;

  if(monto>1000){
  resultado= (monto*0.90)*1.16;
  }

  else if (monto<1000){
  resultado= monto*1.16;
  }
return resultado;
}

3n31ch

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:

Código (java) [Seleccionar]
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:

Código (java) [Seleccionar]
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.