| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 241 人关注过本帖
标题:哪位高人帮我解答这个题目
收藏  订阅  推荐  打印 
统帅堂
Rank: 1
等级:新手上路
帖子:2
积分:126
注册:2008-8-28
哪位高人帮我解答这个题目

// A simple elevator simulation

using System;

class Elevator
{
    private int currentFloor = 1;
    private int requestedFloor = 0;
    private int totalFloorsTraveled = 0;
    private Person passenger;

    public void LoadPassenger()
    {
       passenger = new Person();
    }

    public void InitiateNewFloorRequest()
    {
       requestedFloor = passenger.NewFloorRequest();
       Console.WriteLine(" Departing floor: " + currentFloor
          + " Traveling to floor: " + requestedFloor);
       totalFloorsTraveled = totalFloorsTraveled +
       Math.Abs(currentFloor - requestedFloor);
       currentFloor = requestedFloor;
    }

    public void ReportStatistic()
    {
       Console.WriteLine("Total floors traveled:"+
          totalFloorsTraveled);
    }
}

class Person
{
    private System.Random randomNumberGenerator;

    public Person()
    {
       randomNumberGenerator = new System.Random();
    }

    public int NewFloorRequest()
    {
        // Return randomly generated number
       return randomNumberGenerator.Next(1,30);
    }
}

class Building
{
     private static Elevator elevatorA;

     public static void Main()
     {
         elevatorA = new Elevator();
         elevatorA.LoadPassenger();
         elevatorA.InitiateNewFloorRequest();
         elevatorA.InitiateNewFloorRequest();
         elevatorA.InitiateNewFloorRequest();
         elevatorA.InitiateNewFloorRequest();
         elevatorA.InitiateNewFloorRequest();
         elevatorA.ReportStatistic();
         Console.Read();
     }
}

想在这个程序下做如下修改:给Elevator类添加一个表示电梯名的实例变量,可以将他命名为myName,此实例变量是用private还是public?编写一个构造函数,当你用new关键字创建一个Elevator对象并赋予一个变量时,通过构造函数来为此变量设置值,当使用new关键字时,调整对构造函数的调用方法,将Elevator的名字作为一个参数(花括号之间,而不是在new Elevator()之间插入),写成new Elevator("ElevatorA")

Elevator每完成一次运输它必须打印出发和到达楼层名  不是打印:Departing floor: 2 Traveling to floor 24
应该打印:ElevatorA:Departing floor: 2 Traveling to floor 24 其中ElevatorA是myName中Elevator的名字
搜索更多相关主题的帖子: 高人  解答  
2008-8-28 21:44
统帅堂
Rank: 1
等级:新手上路
帖子:2
积分:126
注册:2008-8-28

没有哪位高人指点一下吗 急啊!!!
2008-8-28 23:41
jwhandsome521
Rank: 1
等级:新手上路
帖子:25
积分:392
注册:2008-9-4
阿斯顿

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Elevator
    {
        private int currentFloor = 1;
        private int requestedFloor = 0;
        private int totalFloorsTraveled = 0;

        private string myName;

        public Elevator(string str)
        {
            myName = str;
        }


        private Person passenger;

        public void LoadPassenger()
        {
            passenger = new Person();
        }

        public void InitiateNewFloorRequest()
        {
            requestedFloor = passenger.NewFloorRequest();
            Console.WriteLine(myName+": Departing floor: " + currentFloor+ " Traveling to floor: " + requestedFloor);
            totalFloorsTraveled = totalFloorsTraveled +Math.Abs(currentFloor - requestedFloor);
            currentFloor = requestedFloor;
        }

        public void ReportStatistic()
        {
            Console.WriteLine("Total floors traveled:" +totalFloorsTraveled);
        }
    }

    class Person
    {
        private System.Random randomNumberGenerator;

        public Person()
        {
            randomNumberGenerator = new System.Random();
        }

        public int NewFloorRequest()
        {
            // Return randomly generated number
            return randomNumberGenerator.Next(1, 30);
        }
    }

    class Building
    {
        private static Elevator elevatorA;

        public static void Main()
        {
            elevatorA = new Elevator("ElevatorA");
            elevatorA.LoadPassenger();
            elevatorA.InitiateNewFloorRequest();
            elevatorA.ReportStatistic();
            //Console.Read();
        }
    }
}
2008-9-4 17:15
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.054772 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved