flutter - 使用算法生成一个月中的天数
问题描述
我对 Flutter 和编程很陌生,我正在做这个迷你项目,但我被困住了。
我已经创建了一年中月份的列表,并且我想在用户点击一个月时生成相应月份的天数。
我产生这些日子的想法很简单。当我创建月份列表时,我使用了一个类和构造函数。此构造函数将询问月份和月份的编号。一月有数字“1”,二月有“2”到十二月有“12”
因此,我计划创建一个从一到三十一(一个月中的天数)的 for 循环。根据与月份相关的数字,它将计数到 28,30 或 31。因此,如果用户在 1 月点击,它必须计数到 31 天并生成天数列表,如果是 2 月则为 28 天。
正如您将从我的代码中看到的那样,我已经减少了月份部分,但生成日期是一个问题。
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(home: home(), title: 'Flutter Demo', theme: ThemeData());
}
}
class home extends StatefulWidget {
@override
_homeState createState() => _homeState();
}
class _homeState extends State<home> {
List<months> monthoftheyear = [
months(month: "January", id: 1),
months(month: "February", id: 2),
months(month: "March", id: 3),
months(month: "April", id: 4),
months(month: "May", id: 5),
months(month: "June", id: 6),
months(month: "July", id: 7),
months(month: "August", id: 8),
months(month: "September", id: 9),
months(month: "October", id: 10),
months(month: "November", id: 11),
months(month: "December", id: 12),
];
Widget monthtemp(display) {
return FlatButton(
child: Card(
child: Text(display.month),
margin: EdgeInsets.all(20),
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
child: Column(
children:
monthoftheyear.map((display) => monthtemp(display)).toList()),
),
);
}
}
for (int i = 0; i>= 31; i++);
如果(月份 id 为 1,那么 for 循环应该最多计数 31 并将其放入卡片中,如果它是 2 月,那么它应该最多计数 28 等)
解决方案
随意使用搜索功能:这个线程已经提供了一些部分解决方案。我认为这样的事情应该有效:
// look up number of days for this month in a small lookup table
var nrOfDays = ...;
// generate a list with all days
var days = Iterable<int>.generate(nrOfDays + 1).skip(1).toList();
// do something with your days to display them
var displayedDays = days.map((day) => ...);
推荐阅读
- devextreme - 第一次选择时的 DevExtreme DropDownBox 问题已更改
- c++ - 在 MinGW 上使用 SFML
- ruby - 如何调整 Daru::DataFrame 中的列宽?
- facebook-javascript-sdk - 是否有用于 Facebook 评论插件的新评论的事件处理程序?
- python - 地图返回地图对象并将其转换为列表会删除其中的所有元素
- css - 网格框之间的 SVG 线
- mysql - 如何从同一列中减去一列的平均值?
- graph - 贪心和最佳优先搜索算法有什么区别?
- cmake - CMake:将 add_library 与许多源一起使用并在 target_link_libraries 中使用时出现链接错误
- java - 暴露客户端机密是否对 oauth 2 中的隐式授权类型构成威胁?