首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >floorspace do-while程序

floorspace do-while程序
EN

Stack Overflow用户
提问于 2012-12-07 20:47:20
回答 3查看 193关注 0票数 1

我应该写一个程序来计算一所房子的总建筑面积。该程序提示用户输入至少一个房间的长度和宽度,如果用户想要输入更多的房间尺寸,则需要与用户进行验证。

它不起作用。谁来帮帮我?

代码语言:javascript
复制
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);

    }

}

哦,天哪,我刚发现我的计算公式有问题。谁能帮帮我。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-12-07 20:54:51

您每次都会将floorSpace设置为length * width,然后自行递增该值(实际上就是将其乘以2)。

替换

代码语言:javascript
复制
floorSpace = length * width;

floorSpace += floorSpace;

使用just

代码语言:javascript
复制
floorSpace += length * width
票数 1
EN

Stack Overflow用户

发布于 2012-12-07 20:52:07

而不是:

代码语言:javascript
复制
ans= input.nextLine().charAt(0);

使用:

代码语言:javascript
复制
ans = input.next().charAt(0);

要修复您的公式,请使用:

代码语言:javascript
复制
    floorSpace += length * width;

并删除:

代码语言:javascript
复制
floorSpace = length * width;

因此,最终的解决方案如下所示:

代码语言:javascript
复制
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);
    }
}
票数 0
EN

Stack Overflow用户

发布于 2012-12-07 20:59:42

试试这个:

代码语言:javascript
复制
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);

    }
}

问候

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13763401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档