c#

╰Angel、浮熙゛ 2019-11-05 02:21:16
用c#的构造函数和类写计算三角形面积的程序。请教大佬,写好几个小时,老显示错误
...全文
105 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace triangle { class nol { public double area; public double s; public nol(double a,double b,double c) { if (a + b > c && a + c > b && b + c > a) { s = (a + b + c) / 2; area = Math.Sqrt(s * (s - a) * (s - b) * (s - c)); Console.WriteLine(area); } else { Console.WriteLine("error!"); } } static void Main(string[] args) { Console.WriteLine("三条边的长度分别为:"); Console.WriteLine("a的长度"); double a = double.Parse(Console.ReadLine()); Console.WriteLine("b的长度"); double b = double.Parse(Console.ReadLine()); Console.WriteLine("c的长度"); double c = double.Parse(Console.ReadLine()); Console.Write("三角形的面积:"); nol newnol = new nol(a, b, c); Console.ReadKey(); } } } 你看一下,给这个类写个构造函数,主函数实例化一个对象调用构造函数就行了
csdnFUCKINGSUCKS 2019-11-28
  • 打赏
  • 举报
回复

class Program
{
    static void Main(string[] args)
    {

        Console.WriteLine("三条边的长度分别为:");
        Console.WriteLine("a的长度");
        double a = double.Parse(Console.ReadLine());
        Console.WriteLine("b的长度");
        double b = double.Parse(Console.ReadLine());
        Console.WriteLine("c的长度");
        double c = double.Parse(Console.ReadLine());
        double area = new Triangle(a, b, c).GetArea();
        Console.WriteLine("三角形的面积{0}:", area);

        Console.ReadLine();
    }
}

public class Triangle
{
    public double SideA { get; set; }
    public double SideB { get; set; }
    public double SideC { get; set; }
    public Triangle() { }

    public Triangle(double sideA, double sideB, double sideC)
    {
        SideA = sideA;
        SideB = sideB;
        SideC = sideC;
    }

    public double GetArea()
    {
        if (SideA + SideB > SideC && SideA + SideC > SideB && SideB + SideC > SideA)
        {
            double s;
            double area;
            s = (SideA + SideB + SideC) / 2;
            area = Math.Sqrt(s * (s - SideA) * (s - SideB) * (s - SideC));
            return s;
        }
        else
        {
            Console.WriteLine("error!");
            return 0;
        }
    }
}
  • 打赏
  • 举报
回复
但是老师非要让改,,,,没理解改什么,
  • 打赏
  • 举报
回复
引用 10 楼 ╰Angel、浮熙゛ 的回复:
我知道是是这个,但是主方法写不来
不好意思没注意看题说要改成构造函数
  • 打赏
  • 举报
回复
引用 10 楼 ╰Angel、浮熙゛ 的回复:
我知道是是这个,但是主方法写不来

你确定这个有错吗,你的错误是什么,你2L的代码可以用啊,没写构造函数构造函数就会默认是空的无参构造函数的
  • 打赏
  • 举报
回复
我知道是是这个,但是主方法写不来
  • 打赏
  • 举报
回复
好呢。谢谢,我再试试
  • 打赏
  • 举报
回复
你这里没有构造函数,只有一个方法
正怒月神 2019-11-05
  • 打赏
  • 举报
回复
引用 5 楼 ╰Angel、浮熙゛ 的回复:
[quote=引用 4 楼 正怒月神的回复:]那你就创建一个 构造函数, public Extent(a,b,c) 然后方法改成no1(),不需要参数了。 no1中调用的参数,都来自构造函数提供的参数
就是这种构造函数我不会使用[/quote] 百度查一下吧。很简单的基础
  • 打赏
  • 举报
回复
引用 4 楼 正怒月神的回复:
那你就创建一个 构造函数, public Extent(a,b,c) 然后方法改成no1(),不需要参数了。 no1中调用的参数,都来自构造函数提供的参数
就是这种构造函数我不会使用
正怒月神 2019-11-05
  • 打赏
  • 举报
回复
那你就创建一个 构造函数, public Extent(a,b,c) 然后方法改成no1(),不需要参数了。 no1中调用的参数,都来自构造函数提供的参数
  • 打赏
  • 举报
回复
老师要让改成构造函数
  • 打赏
  • 举报
回复
引用 1 楼 Bridge_go的回复:
贴代码
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("三条边的长度分别为:"); Console.WriteLine("a的长度"); double a = double.Parse(Console.ReadLine()); Console.WriteLine("b的长度"); double b = double.Parse(Console.ReadLine()); Console.WriteLine("c的长度"); double c = double.Parse(Console.ReadLine()); double momo = Extent.no1(a, b, c); Console.WriteLine("三角形的面积{0}:", momo); Console.ReadKey(); } public class Extent { public static double no1(double a, double b, double c) { if (a + b > c && a + c > b && b + c > a) { double s; double area; s = (a + b + c) / 2; area = Math.Sqrt(s * (s - a) * (s - b) * (s - c)); return s; } else { Console.WriteLine("error!"); return 0; } } } } }
Bridge_go 2019-11-05
  • 打赏
  • 举报
回复
贴代码

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧