使用Java中的循环创建变量名称?

前端之家收集整理的这篇文章主要介绍了使用Java中的循环创建变量名称?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
第一次海报,长时间读者所以对我温柔:)

请参阅以下代码,该代码用于生成财务年度中每月开始和结束的时间戳.

  1. int year = 2010;
  2. // Financial year runs from Sept-Aug so earlyMonths are those where year = FY-1 and lateMonths are those where year = FY
  3. int[] earlyMonths = {8,9,10,11}; // Sept to Dec
  4. int earlyYear = year -1;
  5. for (int i : earlyMonths) {
  6. month = i;
  7. Calendar cal = Calendar.getInstance();
  8. cal.clear();
  9. cal.set(earlyYear,month,1,0);
  10. Long start = cal.getTimeInMillis();
  11. cal.clear();
  12. cal.set(earlyYear,1);
  13. lastDayofMonth = cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
  14. cal.set(earlyYear,lastDayofMonth,23,59,59);
  15. Long end = cal.getTimeInMillis();
  16. }
  17. int[] lateMonths = {0,2,3,4,5,6,7}; // Jan to Aug
  18. for (int i : lateMonths) {
  19. month = i;
  20. Calendar cal = Calendar.getInstance();
  21. cal.clear();
  22. cal.set(year,0);
  23. Long start = cal.getTimeInMillis();
  24. cal.clear();
  25. cal.set(year,1);
  26. lastDayofMonth = cal.getActualMaximum(GregorianCalendar.DAY_OF_MONTH);
  27. cal.set(year,59);
  28. Long end = cal.getTimeInMillis();
  29. }

到目前为止这么好,但是为了使用这些结果,我需要将这些时间戳输出到以月命名的变量(稍后在代码中用于预备语句.例如SeptStart = sometimestamp,SeptEnd = some timestamp等等.

我不知道是否可以根据每个循环的结果声明新变量.有任何想法吗?

解决方法

为什么不使用 Map

毕竟你想拥有一个“容器”来获取某个值,并用指定的名称对它进行寻址.

因此,只需将“变量名称”作为您的密钥,将“变量值”作为您的,即ehm值.

编辑,因为你想要一个Sorted集合:

首先,转到Treemap而不是地图.

另外,要保留字典顺序,请将月份数字填充零标准化到左侧,并使用“开始”和“结束”作为分隔符

所以你将拥有:

  1. 01_begin
  2. 01_end
  3. 02_begin
  4. ...
  5. 10_begin
  6. 10_end
  7. ...

当您访问树形图时,将以正确的顺序打印.

猜你在找的Java相关文章