我应该编写一个计算房屋总楼面面积的程序。该程序提示用户输入长度&至少一个房间的宽度,并且需要与用户确认他是否想要输入更多房间尺寸。
它不起作用。有人请帮帮我吗?
import java.util.*;
public class FloorSpace
{
public static void main (String[] args)
{
Scanner input = new Scanner(System.in);
double length = 0.0, width = 0.0, floorSpace = 0.0;
char ans;
do
{
System.out.print("Enter length: ");
length = input.nextDouble();
System.out.print("Enter width: ");
width = input.nextDouble();
floorSpace = length * width;
floorSpace += floorSpace;
System.out.print("Do you want to enter more room dimensions? (y/n): ");
ans = input.nextLine().charAt(0);
}
while (ans == 'y');
System.out.println("\nTotal floor space is " + floorSpace);
}
}
哦,我刚刚发现我的计算公式出了问题。有人可以帮助我。
答案 0 :(得分:1)
您每次都将floorSpace
设置为length * width
,然后自行递增该值(实际上只是将其乘以2)。
替换
floorSpace = length * width;
floorSpace += floorSpace;
只是
floorSpace += length * width
答案 1 :(得分:0)
而不是:
ans= input.nextLine().charAt(0);
使用:
ans = input.next().charAt(0);
要修复您的公式,请使用:
floorSpace += length * width;
并删除:
floorSpace = length * width;
所以最终解决方案如下:
import java.util.*;
public class FloorSpace
{
public static void main (String[] args)
{
Scanner input = new Scanner(System.in);
double length = 0.0, width = 0.0, floorSpace = 0.0;
char ans;
do
{
System.out.print("Enter length: ");
length = input.nextDouble();
System.out.print("Enter width: ");
width = input.nextDouble();
floorSpace += length * width;
System.out.print("Do you want to enter more room dimensions? (y/n): ");
ans = input.next().charAt(0);
}
while (ans == 'y');
System.out.println("\nTotal floor space is " + floorSpace);
}
}
答案 2 :(得分:0)
试试这个:
import java.util.*;
public class FloorSpace
{
public static void main (String[] args)
{
Scanner input = new Scanner(System.in);
double length = 0.0, width = 0.0, floorSpace = 0.0;
char ans='n'; //not for default
do
{
System.out.print("Enter length: ");
length = input.nextDouble();
System.out.print("Enter width: ");
width = input.nextDouble();
floorSpace += length * width;
System.out.print("Do you want to enter more room dimensions? (y/n): ");
if (input.hasNext()){
ans = input.next().charAt(0);
}
}
while (ans == 'y');
System.out.println("\nTotal floor space is " + floorSpace);
}
}
此致