如何从一年拿到最后两个数字,用户输入(How to get last two digit from

2019-11-03 04:55发布

我一直在玩这个了一段时间,我似乎无法让我的头脑围绕如何我能得到这个任务完成。

我的任务:

我需要得到用户已进入了一年中的最后两位数字。

例如:

用户进入2014年7月2日; 我需要2014年,这是“14”的最后两位数字和4分呢?这会给我3.5; 不过,我会不顾” 0.5" ,并只保留3。

研究:

我一直在读我的书,见过一个办法,我可能能够使用其中包括字符串生成器类。 但是我的书有一个非常简短的描述,并显示没有例子,我可以建设性地使用来完成我的任务。

进展:

这是我到目前为止什么,这基本上就是我多么希望我的程序的模板; 我只是需要一些帮助得到最后2个位数的一年。

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 " );

        }
    }  
}                                               

Answer 1:

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);


Answer 2:

有一两件事你可以做的是国防部在今年的100拿到最后2个位数。 然后,你可以做你想做的事情不管数学。

这可以扩展得到的数字的任意号码; 通过改装一个数10^n产生的最后n数的数字。

编辑因为我是愚蠢的,并认为year是一个String



Answer 3:

恕我直言,清洁剂的选择将是日,月和年转换为日历。 然后拿到两位数一年的日历。

事情是这样的:

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);


Answer 4:

你可以这样做String yearString = Integer.toString(year).substring(2)这将首先整数转换为字符串,然后得到包括一切的第二个字符后的子字符串。 然后将其重新转换成一个整数,尝试int yearInt = Integer.parseInt(yearString)



文章来源: How to get last two digit from a year which a user inputs