繁体   English   中英

如何在while循环中修复此计数器?

[英]How do i fix this counter in a while loop?

  //Name: Justin 

  import java.util.Scanner;

  public class hotelOccupancy
  {

  public static void main(String[] args)
  {

  Scanner keyboard = new Scanner(System.in);
  int floors, roomNo, occRooms, emptyRooms, occRoomsT = 0, roomNoT = 0;
  double occupancyRate;

  System.out.print("Enter the amount of floors in the hotel(must enter at least 1): ");
    floors = keyboard.nextInt();

  while(floors > 0)
     {
  System.out.print("Enter the amount of rooms on floor " + floors + ":");
    roomNo = keyboard.nextInt();

     if(roomNo < 10)
     {
  System.out.println("There is a minimum of 10 rooms per floor");
  System.out.print("Enter the amount of rooms on floor " + floors + ":");
    roomNo = keyboard.nextInt();
     }

  System.out.print("Enter the amount of rooms on floor " + floors + " that are occupied: ");
    occRooms = keyboard.nextInt();

     if(occRooms < 0 || occRooms > roomNo)
     {
  System.out.println("Please enter a valid number of occupied rooms");
  System.out.print("Enter the amount of rooms on floor " + floors + " that are occupied: ");
    occRooms = keyboard.nextInt();
     }

   occRoomsT = occRoomsT + occRooms;
   roomNoT = roomNoT + roomNo;  
   floors--;
   }

  occupancyRate = occRoomsT / roomNoT;
  emptyRooms = roomNoT - occRoomsT;

  System.out.println("The total amount of rooms is: " + roomNoT);
  System.out.println("The total amount of occupied rooms is: " + occRoomsT);
  System.out.println("The occupancy rate is: " + occupancyRate);
  System.out.println("The amount of vacant rooms is: " + emptyRooms);

  }
  }

您好,此程序用于计算酒店中所有房间的入住率,房间总数,已占用房间总数和空置房间总数。 输入是楼层数量,每个楼层的房间数量以及给定楼层上的已占用房间数量。 输入数据输入后,占用率总是显示为0.0,这是我的问题。 我感觉问题出在我的变量计数器occRoomsT和roomNoT上。

只是做,

occupancyRate = ((double)occRoomsT) / roomNoT;

房间总数始终是整数,将它们声明为double并不是一个好习惯,与整数相比,它占用更多空间。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM