不知道如何定义方法,如何使用方法。特别是定义一个方法,调用该函数时以特定格式输出这个很蒙逼。
谢谢!!
C#控制台程序,面向对象的问题请看图片
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- threenewbee 2018-12-14 11:43关注
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; namespace Q717058 { class Point { private double X { get; set; } private double Y { get; set; } private double Z { get; set; } private double T { get; set; } public Point(double x, double y, double z, double t) { X = x; Y = y; Z = z; T = t; } public static implicit operator Point(string s) { double[] d = s.Split(' ').Select(x => double.Parse(x)).ToArray(); return new Point(d[0], d[1], d[2], d[3]); } public override string ToString() { return string.Format("({0},{1},{2},{3})", X, Y, Z, T); } public void Print() { Console.WriteLine(this); } public double Distance(Point p) { return Math.Sqrt(new double[] { X - p.X, Y - p.Y, Z - p.Z, T - p.T } .Select(x => x * x) .Sum()); } public void Move(char c, double n) { var prop = GetType().GetProperty(c.ToString().ToUpper(), BindingFlags.NonPublic | BindingFlags.Instance); if (prop != null) prop.SetValue(this, (double)prop.GetValue(this, null) + n, null); } } class Program { static void Main(string[] args) { Point p1 = (Point)Console.ReadLine(); Point p2 = (Point)Console.ReadLine(); string l3 = Console.ReadLine(); p1.Move(l3[0], double.Parse(l3.Split(' ')[1])); p1.Print(); Console.WriteLine("Distance={0}", p1.Distance(p2)); } } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
- ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
- ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号
- ¥50 安装pyaudiokits失败
- ¥15 计组这些题应该咋做呀
- ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?