You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dart代码运行报错:找不到main方法,请求技术支持

问题原因

Dart程序的入口main函数必须是顶级函数(定义在所有类的外部),你把main定义成了Myclass的静态方法,导致运行时找不到程序入口,因此出现"No main method found"的错误。

修复后的代码
import 'dart:io';

class Area {
  double calculateCircleArea(double r) {
    double area = 3.14 * r * r;
    return area;
  }
}

class Myclass extends Area {
  @override
  double calculateCircleArea(double r) {
    double area = 3.14 * r * r;
    print(area);
    return area;
  }
}

// 将main函数移到类外部,作为顶级函数
void main(List<String> args) {
  Myclass mc = Myclass();
  print("Enter the radius");
  double rad = double.parse(stdin.readLineSync()!);
  print("Area of the circle is");
  mc.calculateCircleArea(rad);
}
额外优化建议
  • 不需要在Myclass里实例化Area,因为Myclass已经继承了Area,可直接使用父类方法
  • 计算圆面积时,建议用dart:math库的pi常量替代手动写的3.14,精度更准确,优化后代码如下:
import 'dart:io';
import 'dart:math';

class Area {
  double calculateCircleArea(double r) {
    double area = pi * r * r;
    return area;
  }
}

class Myclass extends Area {
  @override
  double calculateCircleArea(double r) {
    double area = pi * r * r;
    print(area);
    return area;
  }
}

void main(List<String> args) {
  Myclass mc = Myclass();
  print("Enter the radius");
  double rad = double.parse(stdin.readLineSync()!);
  print("Area of the circle is");
  mc.calculateCircleArea(rad);
}

内容的提问来源于stack exchange,提问作者AKHIL JAMES

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 18:33:16