我正在接受一些编程练习的培训,这个练习让我忙了很长一段时间。它说如下:
您的工作是将数字 1,2,3,...,12 转换为相应的月份名称一月、二月、三月、...、十二月。实现一个 Month 类,其构造函数参数是月份编号,其 getName 方法返回月份名称。提示:创建一个非常长的字符串“January February March ...”,在其中添加空格以使每个月份名称具有相同的长度。然后使用子字符串提取所需的月份。
不幸的是,我并不是每个月都留出相同数量的空间,但如果我仔细考虑一下这些数字,这应该不是问题。
目前我还没有使用 switch 语句。我会在不久的将来了解它。使这个分配有点棘手的是我不能使用数组、开关、if/for 循环。请记住,我必须遵循文本中的提示。我不能简单地使用文字,而是需要制作 1 个大字符串并返回带有月份的子字符串。
问题是:如何将数字连接到特定的子字符串?感谢帮助!
这是我的代码:
public class Month
{
private int number;
private String month;
public Month(int theNumber)
{
number = theNumber;
}
public String getName()
{
String month = "January February March April May June July August September October November December";
String january = month.substring(0,7);//January
String february = month.substring(8,16);//February
String march = month.substring(17,22);//March
String april = month.substring(23,28);//April
String may = month.substring(29,32);//May
String june = month.substring(33,37);//June
String july = month.substring(38,42);//July
String august = month.substring(43,49);//August
String september = month.substring(50,59);//September
String october = month.substring(60,67);//October
String november = month.substring(68,76);//November
String december = month.substring(77,84);//December
return month;
}
}
最佳答案
如果当月字母加上空格的数量相同,您可以执行以下操作:
- 查找该月最长的名称。
- 用空格填充所有其他月份名称,以具有相同数量的字母。 信件最多的月份是九月。其中有 9 个字母
使用具有给定月份数的子字符串,例如:
number = 0 = January number = 1 = February number = 11 = December
然后您可以使用以下命令从字符串中提取月份名称:
substring(number*9, number*9+9)
关于java - 一年中的编程作业月份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21076182/