/*
* 编写控制台应用程序,在其中创建物体类PhysicalObject,通过其私有字段来存放重量和体积,通过公有属性来访问其重量、体积、密度
* ,并通过公有方法来判断该物体是否会在水中下沉。
* 提示:(1)浮力计算公式: 物体密度>液体密度,下沉,G物>F浮
* 物体密度=液体密度,悬浮,G物=F浮(基本物体是空心的)
* 物体密度<液体密度,上浮,(静止后漂浮)G物<F浮
* (2)纯水密度是1克每立方厘米,1升水的重量为1kg.
* (3)比重(密度)=物体的重量/物体的体积。
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication2
{
class PhysicalObject
{
private 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 Program
{
static void Main(string[] args)
{
for (; ; )
{
Console.WriteLine("请输入重量和体积:");
string s = Console.ReadLine();
string[] ns = s.Split(' ');
double[] n = new double[3];
for (int i = 0; i < ns.Length; i++)
n[i] = Convert.ToDouble(ns[i]);
if (n[0] == 1 && n[1] == 1)
break;
PhysicalObject p = new PhysicalObject(n[0], n[1]);
Console.WriteLine("物体在水中的状态:{0}\n", p.judge());
}
Console.WriteLine("结束!");
Console.ReadKey();
}
}
}
运行结果: