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 楼答案
在原始代码中,门空间的计算在读取输入值之前完成
因此,传递给
itemd
的ld
和hd
是0。你必须移动计算。如评论中所述,更改行就足够了到