Programa de estacionamiento en Java (Bluej) [CERRADO] -- java campo con functional-programming camp codereview Relacionados El problema

parking lot program in Java (BlueJ) [closed]


-2
vote

problema

Español
cerrado. Esta pregunta es off-topic . Actualmente no está aceptando respuestas.

¿Quieres mejorar esta pregunta? Actualizar la pregunta por lo que es on-topic para el intercambio de pila de revisión de código.

cerrado hace 4 años .

Mejorar esta pregunta

El programa es de seguiéndula -

  import java.util.*; class ParkingLot {     Scanner sc=new Scanner (System.in);     int vno,hours;     double fee;      int input()//to take input     {         System.out.println("Enter vehicle no. - ");         int vno=sc.nextInt();         System.out.println("Enter the hours -");         int hours=sc.nextInt();         return (hours);     }      double calculate()//to calculate fee     {         if(hours>=1)         {             double fee=3;         }         else if(hours<1)         {             double fee=3+(hours-1)*1.5;         }         return (fee);     }     void display()//to display fee     {         System.out.println("vehicle no. - "+vno+"     hrs = "+hours);         System.out.println("fee = rs."+fee);     }     public static void main()     {         ParkingLot obj=new ParkingLot();         obj.input();         obj.calculate();         obj.display();     } }   

Todo lo que quiero hacer es tomar la tarifa calculada de la función llamada Calcular y tomar las horas ingresadas por el usuario para calcular la tarifa. Pero todo lo que recibo como salida es esto -

Ingrese el vehículo no. - 2248 Ingrese las horas - 2 (esta es la entrada)

vehículo no. - 0
hrs = 0 tarifa = Rs.0.0
(esta es la salida)

No puedo entender cuál es el problema. Si solo se puede señalar el problema, sería muy útil.

Original en ingles

The program is as following -

import java.util.*; class ParkingLot {     Scanner sc=new Scanner (System.in);     int vno,hours;     double fee;      int input()//to take input     {         System.out.println("Enter vehicle no. - ");         int vno=sc.nextInt();         System.out.println("Enter the hours -");         int hours=sc.nextInt();         return (hours);     }      double calculate()//to calculate fee     {         if(hours>=1)         {             double fee=3;         }         else if(hours<1)         {             double fee=3+(hours-1)*1.5;         }         return (fee);     }     void display()//to display fee     {         System.out.println("vehicle no. - "+vno+"     hrs = "+hours);         System.out.println("fee = rs."+fee);     }     public static void main()     {         ParkingLot obj=new ParkingLot();         obj.input();         obj.calculate();         obj.display();     } } 

All I want to do is to take the calculated fee from the function called calculate and take the hours entered by the user to calculate the fee. But all I get as output is this -

Enter vehicle no. - 2248 Enter the hours - 2 (this is the input)

vehicle no. - 0
hrs = 0 fee = rs.0.0
(this is the output)

I cannot understand what the problem is. If just the problem can be pointed out, it would be very helpful.

     
 
 

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

Hay algunos problemas que veo con su código aquí. Corríjame si estoy equivocado.

  1. Aquí ha declarado sus variables VNO, horas y tarifas a nivel mundial. Entonces, ¿por qué necesita declararlos nuevamente en los métodos (entrada y calcular)? Utilice las mismas variables declaradas globalmente.
  2. En este caso, su método de visualización toma el VNO, horas y tarifas que se declara a nivel mundial y no las que usted declaró en los métodos. Intente asignar un valor a las variables globales dadas y ejecutar el programa para ver lo que quiero decir.
  3. El método
  4. también "entrada" es tomar valores del usuario. Entonces, ¿por qué necesita una declaración de devolución en absoluto?
  5. , en realidad, puede hacerlo más sencillo asegurándose de que cada uno de sus métodos solo haga una cosa a la vez.
 

There are a few problems i see with your code here. Correct me if i am wrong.

  1. Here you have declared your variables vno,hours and fee globally. So why do you need to declare them again in the methods (input and calculate)? Use the same globally declared variables.
  2. In this case your display method takes the vno, hours and fee which is declared globally and not the ones you declared in the methods. Try assigning a value to the global variables given and run the program to see what I mean.
  3. Also "input" method is to take values from the user. So why does it need a return statement at all?
  4. You can actually make it simpler by making sure that each of your method does only one thing at a time.
 
 
 
 

Relacionados problema

18  Reemplazo de clases de Python con módulos [cerrados]  ( Replacing python classes with modules ) 
cerrado. Esta pregunta es off-topic . Actualmente no está aceptando respuestas. ¿Quieres ...

1  Implementación ingenua de la memorización automática  ( Naive implementation of automatic memoisation ) 
Escribí el código a (ingenuamente) realizar la memorización automática. Intenté escribirlo en un estilo de programación funcional, y así no hizo uso de ningun...

13  Muestreo de reservorio en Clojure  ( Reservoir sampling in clojure ) 
Estoy aprendiendo a Clojure y decidí comenzar por intentar escribir una solución a un algoritmo bastante simple, un muestreo de reservorio. Como dije, estoy a...

3  ¿Quick-Sort una lista vinculada?  ( Quick sort a linked list ) 
Tengo un pequeño proyecto donde estoy implementando una lista de enlaces inmutables (no solo ...) basada en una estructura de pares como la celda de los contr...

10  Obteniendo la última fecha donde ocurrió un día de la semana dado  ( Getting the last date where a given week day occurred ) 
Estoy tratando de aprender un poco sobre la programación funcional y como mi herramienta, elegí F # ya que soy un desarrollador de .NET y el medio ambiente es...

4  Simple Haskell Key Value File Store  ( Simple haskell key value file store ) 
Como ejercicio en el aprendizaje de Haskell, implementé una tienda de valores clave simple, donde puede poner y obtener valores (como ByteString s). (Para r...

2  HackerRank: Rotación de la matriz izquierda en Python  ( Hackerrank left array rotation in python ) 
Aquí está el problema en Hackerrank . Quiero saber cómo puedo mejorar este código. Estoy tratando principalmente de mejorar las siguientes habilidades: la do...

3  Definiendo la transposición en una colección de colecciones irregulares  ( Defining transpose on a collection of irregular collections ) 
Me pidieron que presentara mi solicitud de revisión de código en https: //stackoverflow.com/questions/10672046/defining-transpose-on-a-collection-of-irregula...

9  Eliminación de árbol negro rojo en F #  ( Deleting from red black tree in f ) 
Sí, estoy muy lentamente a través de las estructuras de datos puramente funcionales. Así que pasé por la sección sobre árboles negros rojos. Lo que presenta e...

25  Proyecto EULER PROBLEMA 2 EN COTJURE  ( Project euler problem 2 in clojure ) 
Estoy en el proceso de aprendizaje de Clojure. Soy bastante nuevo en la programación funcional y me gustaría saber si mi código huele o si hay alguna implicac...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos