您的位置:首页 > 编程语言 > C#

C#—密度较量拓展

2016-04-15 21:31 381 查看
/*
* 编写控制台应用程序,在其中创建物体类PhysicalObject,通过其私有字段来存放重量和体积,通过公有属性来访问其重量、体积、密度
* ,并通过公有方法来判断该物体是否会在水中下沉。
* 提示:(1)浮力计算公式:  物体密度>液体密度,下沉,G物>F浮
*                            物体密度=液体密度,悬浮,G物=F浮(基本物体是空心的)
*                            物体密度<液体密度,上浮,(静止后漂浮)G物<F浮
*        (2)纯水密度是1克每立方厘米,1升水的重量为1kg.
*        (3)比重(密度)=物体的重量/物体的体积。
* 从PhysicalObject类中派生出移动动物类MovingObject,在其中添加物体的速度信息,并实现物体动量和动能的计算。
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication2
{
class PhysicalObject
{
protected double zl, tj;
public PhysicalObject(double zl, double tj)
{
this.zl = zl;
this.tj = tj;
}
public double Zl
{
get { return zl; }
set
{
if (value > 0)
zl = value;
else
Console.WriteLine("输入错误!");
}
}
public double Tj
{
get { return tj; }
set
{
if (value > 0)
tj = value;
else
Console.WriteLine("输入错误!");
}
}
public double md
{
get
{
if (tj != 0)
return zl / tj;
else
return 0;
}
}
public string judge()
{
if (md > 1)
return "下沉";
else if (md == 1)
return "悬浮";
else
return "上浮";
}
}
class MovingObject : PhysicalObject
{
private double speed;
public MovingObject(double x, double y, double z)
:base(x,y)
{
speed=z;
}
public  double dongliang(double m, double v)
{
return m * v;
}
public  double dongneng(double m, double v)
{
return  m * v * v/2;
}
}
class Program
{
static void Main(string[] args)
{
for (; ; )
{
Console.WriteLine("请输入重量、体积和速度:");
string s = Console.ReadLine();
string[] ns = s.Split(' ');
double[] n = new double[4];
for (int i = 0; i < ns.Length; i++)
n[i] = Convert.ToDouble(ns[i]);
if (n[0] == 1 && n[1] == 1 && n[2] == 1)
break;
MovingObject p = new MovingObject(n[0], n[1], n[2]);
Console.WriteLine("物体在水中的状态:{0}\n", p.judge());
Console.WriteLine("物体的动量为:{0}", p.dongliang(n[0], n[2]));
Console.WriteLine("物体的动能为:{0}", p.dongneng(n[0], n[2]));
}
Console.WriteLine("结束!");
Console.ReadKey();
}
}
}

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c#