我必须编写一个程序,使用格式YYMMDD将SSN存储为整数。另外,我需要想办法只打印DD。
例如,如果我们将SSN 800507存储在整数变量中,程序应该将07打印到屏幕上。 现在我尝试了以下方式,我不确定我是否正确处理了我的第一个问题而且我不知道如何解决我的第二个问题(仅打印DD)。
[操作:我将SSN存储在long变量中,因为int不能处理太大的数字,因为SSN是一个很大的int值,我知道使用long类型并不符合我的需求问题。这就是我需要帮助解决问题的原因。]
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
答案 0 :(得分:0)
我不了解您的格式是否为SSN,但您可以将其视为String
。
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)
,但我会将该实施留给您。