Java 如何使用YYMMDD格式将SSN存储为整数?

Java 如何使用YYMMDD格式将SSN存储为整数?,java,date,netbeans,int,date-format,Java,Date,Netbeans,Int,Date Format,我必须编写一个程序,使用YYMMDD格式将SSN存储为整数。我还需要找到一种只打印DD的方法 例如,如果我们将SSN 800507存储在整数变量中,则程序应将07打印到屏幕上。 现在我尝试了以下方法,我不确定是否正确处理了第一个问题,也不知道如何解决第二个问题(只打印DD) [操作:我将SSN存储在长变量中,因为int不能处理太大的数字,因为SSN是一个大的int值,而且我知道使用长类型不符合我的要求。这就是为什么我需要帮助来解决它。] package ex1; import java

我必须编写一个程序,使用YYMMDD格式将SSN存储为整数。我还需要找到一种只打印DD的方法

例如,如果我们将SSN 800507存储在整数变量中,则程序应将07打印到屏幕上。 现在我尝试了以下方法,我不确定是否正确处理了第一个问题,也不知道如何解决第二个问题(只打印DD)

[操作:我将SSN存储在长变量中,因为int不能处理太大的数字,因为SSN是一个大的int值,而且我知道使用长类型不符合我的要求。这就是为什么我需要帮助来解决它。]

    package ex1;

import java.util.Scanner;

public class Exercise1 {

    public static void main(String[] args) {

        //SSN in date formate starts
        Scanner iScanner=new Scanner(System.in);
        long ssn;
        System.out.println("Enter your SSN in the formate YYDDMM:\n");
        ssn=iScanner.nextLong();
        System.out.print("Your SSN is:\n"+ssn);

         //SSN in date formate ends

我不了解您的格式是如何成为SSN的,但您可以将其作为
字符串来阅读

public static void main(String[] args) throws FileNotFoundException {
    Scanner iScanner = new Scanner(System.in);
    System.out.println("Enter your SSN in the formate YYDDMM:\n");
    String ssn = iScanner.nextLine();
    System.out.println(ssn.substring(ssn.length() - 2));
}

尝试以数字形式使用它的问题是前导零(请记住,01是一个有效的输出)。您可以使用
String.format(“%02d”,1)
但我将把实现留给您。

SSN包含9个数字字符串--如何显示为包含6个字符的字符串?我不确定我是否明白你到底想做什么。此外,SSN不应被输入或视为一个数字,因为它实际上根本不是一个数字。例如,您从未对其执行过数字操作。这是一个字符串,应该被视为这样。你是说我们SSN吗?而且,YYMMDD听起来像是一种日期格式。它基本上是欧洲标准(更具体地说是瑞典)。它是这样工作的:YYMMDD:951230。因此,从那里我只需要打印最后两位数字,日期。