我一直在玩这个,我似乎无法理解如何完成这项任务。
我的任务:
我需要获取用户输入的一年的最后两位数字。
示例:
用户进入2014年7月2日;我需要得到2014年的最后两位数字,即“14”并将其除以4.这将给我3.5;但是我会忽略“.5”而只是保留3.
研究:
我一直在阅读我的教科书,并看到了我可以使用的一种方法,其中包括字符串构建器类。然而,我的书有一个非常简短的描述,并没有显示我可以建设性地用来完成任务的例子。
进度:
这是我到目前为止,它基本上是我想要我的程序的模板;我只需要帮助获得一年的最后两位数字。
public class DateCalc
{
public static void main (String[] args)
{
String month;
int day;
int year;
Scanner keyboard = new Scanner(System.in);
// receiving input
System.out.print( "Please Enter The Month Of The Date : ");
month = keyboard.nextLine();
// receiving input
System.out.print( "Please Enter The Day Of The Date : ");
day = keyboard.nextInt();
// receiving input
System.out.print( "Please Enter The Year OF The Date : ");
year = keyboard.nextInt();
switch(month)
{
// keys are numbered indexes that I need for this, please disregard
case "January" :
int janKey = 1;
break;
case "February":
int febKey = 4;
break;
case "March":
int marKey = 4;
break;
case "April":
int aprKey = 0;
break;
case "May":
int maykey = 2;
break;
case "June":
int junKey = 5;
break;
case "July":
int julKey = 0;
break;
case "August":
int augKey = 3;
break;
case "September":
int septKey = 6;
break;
case "October":
int octKey = 1;
break;
case "November":
int novKey = 4;
break;
case "December":
int decKey = 4;
break;
// IN MY DEFUALT CASE " inputValidation " WILL BE EXECUTED
default:
JOptionPane.showMessageDialog(null," Invalid Entry Please Try Again " );
}
}
}
答案 0 :(得分:1)
您可以做的一件事是将年份修改为100以获得最后2位数字。然后你就可以用它做任何你需要的数学运算。
这可以扩展为获得任意数量的数字;按10^n
修改数字会产生该数字的最后{{1}}位数。
编辑,因为我很愚蠢,认为n
是year
答案 1 :(得分:1)
恕我直言,清洁选项是将日,月和年转换为日历。然后从日历中获得两位数的年份。
这样的事情:
Calendar cal = Calendar.getInstance();
cal.set(year, month, day);
SimpleDateFormat sdf = new SimpleDateFormat("yy"); // Just the year, with 2 digits
String formattedDate = sdf.format(Calendar.getInstance().getTime());
System.out.println(formattedDate);
答案 2 :(得分:0)
您可以执行String yearString = Integer.toString(year).substring(2)
之类的操作,首先将整数转换为字符串,然后获取由第二个字符后的所有内容组成的子字符串。然后将其重新变为整数,请尝试int yearInt = Integer.parseInt(yearString)
答案 3 :(得分:0)
String date = "July 2 , 2013";
String year = ""+ date.charAt(date.length()-2) + date.charAt(date.length()-1);
System.out.println(year);
int year2 = Integer.parseInt(year);
System.out.println(year2);