使用Java中的循环创建变量名称?
发布时间:2020-12-14 05:51:06 所属栏目:Java 来源:网络整理
导读:第一次海报,长时间读者所以对我温柔:) 请参阅以下代码,该代码用于生成财务年度中每月开始和结束的时间戳. int year = 2010;// Financial year runs from Sept-Aug so earlyMonths are those where year = FY-1 and lateMonths are those where year = FYint[
第一次海报,长时间读者所以对我温柔:)
请参阅以下代码,该代码用于生成财务年度中每月开始和结束的时间戳. int year = 2010; // Financial year runs from Sept-Aug so earlyMonths are those where year = FY-1 and lateMonths are those where year = FY int[] earlyMonths = {8,9,10,11}; // Sept to Dec int earlyYear = year -1; for (int i : earlyMonths) { month = i; Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(earlyYear,month,1,0); Long start = cal.getTimeInMillis(); cal.clear(); cal.set(earlyYear,1); lastDayofMonth = cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH); cal.set(earlyYear,lastDayofMonth,23,59,59); Long end = cal.getTimeInMillis(); } int[] lateMonths = {0,2,3,4,5,6,7}; // Jan to Aug for (int i : lateMonths) { month = i; Calendar cal = Calendar.getInstance(); cal.clear(); cal.set(year,0); Long start = cal.getTimeInMillis(); cal.clear(); cal.set(year,1); lastDayofMonth = cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH); cal.set(year,59); Long end = cal.getTimeInMillis(); } 到目前为止这么好,但是为了使用这些结果,我需要将这些时间戳输出到以月命名的变量(稍后在代码中用于预备语句.例如SeptStart = sometimestamp,SeptEnd = some timestamp等等. 我不知道是否可以根据每个循环的结果声明新变量.有任何想法吗? 解决方法
为什么不使用
Map?
毕竟你想拥有一个“容器”来获取某个值,并用指定的名称对它进行寻址. 因此,只需将“变量名称”作为您的密钥,将“变量值”作为您的,即ehm值. 编辑,因为你想要一个Sorted集合: 首先,转到Treemap而不是地图. 另外,要保留字典顺序,请将月份数字填充零标准化到左侧,并使用“开始”和“结束”作为分隔符 所以你将拥有: 01_begin 01_end 02_begin ... 10_begin 10_end ... 当您访问树形图时,将以正确的顺序打印. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |