有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么不计算门空间的方法?

我的方法有些问题。它似乎没有计算门空间,因为它总是返回0.0的值。应根据输入的长度和高度进行计算。谢谢

package Hw;

import java.util.Scanner;

public class HouseReno3   {

            public static void main(String[] args) {

            // Initialize and Declare Variables
            double ceramictile = 4.00;
            double hardwood = 3.00;
            double carpet = 2.00;
            double linoleumtile = 1.00;

            // Initialize Variables
            int floortype;
            int budget;
            double length; 
            double height;
            double width;
            double ld = 0;
            double hd = 0;
            double lw1;
            double hw1;
            double lw2;
            double hw2;
            double lb;
            double hb;
            double wb;
            double door = 0;
            double window = 0;
            double bookshelf = 0;
            double doorspace = 0;

            doorspace = itemd (door, ld, hd, doorspace);
        //  double costp;
        //  double costf;

            // Initialize Scanner
            Scanner keyboard = new Scanner (System.in);

            System.out.println("Enter Number Of Doors");
            door = keyboard.nextDouble();
            for(int doors = 0; doors < door; doors++)
            {   

                System.out.println("What is the length of the door (in feet)? ");
                ld = keyboard.nextDouble();
                System.out.println("What is the height of the door (in feet)? ");
                hd = keyboard.nextDouble();
                System.out.println("Doorspace is: " + doorspace);

            }



            System.out.println("Enter Number Of Windows");
            window = keyboard.nextDouble();
            for(int windows = 0; windows < window; windows++)
            {
                System.out.println("What is the length of the window (in feet)? ");
                lw1 = keyboard.nextDouble();
                System.out.println("What is the height of the window (in feet)? ");
                hw1 = keyboard.nextDouble();
            }

            System.out.println("Enter Number Of Bookshelves");
            bookshelf = keyboard.nextDouble();
            for(int bookshelves = 0; bookshelves < bookshelf; bookshelves++)
            {
                 System.out.println("What is the length of the bookcase (in feet)? ");
                 lb = keyboard.nextDouble();
                 System.out.println("What is the height of the bookcase (in feet)? ");
                 hb = keyboard.nextDouble();
                 System.out.println("What is the width of the bookcase (in feet)? ");
                 wb = keyboard.nextDouble();

            }

    }

            private static int itemd(double door, double ld, double hd, double doorspace) {

                doorspace = ld *hd;
                return (int) doorspace;
            }                   
}

共 (1) 个答案

  1. # 1 楼答案

    在原始代码中,门空间的计算在读取输入值之前完成

    doorspace = itemd (door, ld, hd, doorspace);
    [...]
    
    // Initialize Scanner
    Scanner keyboard = new Scanner (System.in);
    
    System.out.println("Enter Number Of Doors");
    

    因此,传递给itemdldhd是0。你必须移动计算。如评论中所述,更改行就足够了

    System.out.println("Doorspace is: " + doorspace);
    

    System.out.println("Doorspace is: " + itemd (door, ld, hd, doorspace));