Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
为什么运行时异常,不能看报错信息啊啊啊啊啊啊啊啊import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class Main { public static void main(String[] args) { //日月年看着真变扭 //首先把 H 日期 转天数, //然后把天数 转 T 日期 List<String> list = new ArrayList<String>(); String[] hDateMonthDefine = "pop,no,zip,zotz,tzec,xul,yoxkin,mol,chen,yax,zac,ceh,mac,kankin,muan,pax,koyab,cumhu".split(","); String[] tDateDayDefine = "imix,ik,akbal,kan,chicchan,cimi,manik,lamat,muluk,ok,chuen,eb,ben,ix,mem,cib,caban,eznab,canac,ahau".split(","); Scanner scanner = new Scanner(System.in); int rows = scanner.nextInt(), daysCount = 0, hDateMonth2Int = 0, length, tDateYear, tDateDayNumber; String hDate, hDateDay, hDateMonth, hDateYear, tDateDayWord; StringBuilder tDate = new StringBuilder(); String[] hDateSplitArray; scanner.nextLine(); for (int i = 0; i < rows; i++) { //读取一行,空格分隔符,年数乘以365,月数乘以20,再加天数,数组下标应该是 0,1,2 hDate = scanner.nextLine(); hDateSplitArray = hDate.split(" "); //天数去掉末尾的点"." length = hDateSplitArray[0].length(); hDateDay = hDateSplitArray[0].substring(0, length - 1); hDateMonth = hDateSplitArray[1]; hDateYear = hDateSplitArray[2]; //天数是 0 开始算的。 daysCount += Integer.valueOf(hDateDay) + 1; daysCount += Integer.valueOf(hDateYear) * 365; //计算月数,遍历月份数组,比较相等得到,下标等于要的月数 for (int j = 0; j < hDateMonthDefine.length; j++) { if (hDateMonth.equals(hDateMonthDefine[j])) { hDateMonth2Int = j; } } //加上月数乘以20 daysCount += hDateMonth2Int * 20; //把天数转为 T 日期,输出 //天数除以 260 等于年数,没有月份,要求当天的名字。。。数字和单词。。 tDateYear = daysCount / 260; //除以年数后的余数,对 13 取余等于天的数字,对 20 取余 等于 天单词的数组下标+1,要-1 才是天单词的下标 第一天的下标是 0 tDateDayNumber = daysCount % 260 % 13; int tDateDayDefineIndex = daysCount % 260 % 20; tDateDayWord = tDateDayDefine[tDateDayDefineIndex - 1]; //拼接 tDate.append(tDateDayNumber); tDate.append(" "); tDate.append(tDateDayWord); tDate.append(" "); tDate.append(tDateYear); list.add(tDate.toString()); length = tDate.length(); tDate.delete(0, length); daysCount = 0; } //输出 System.out.println(rows); for (String aList : list) { System.out.println(aList); } } } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator