我已经为信用卡类写了一些代码,粘贴在下面。我有一个接受上述变量的构造函数,并且正在研究一些方法来将这些变量的格式设置为字符串,以便最终输出类似于
号码:1234 5678 9012 3456
到期日:10/14
帐户持有人:鲍勃·琼斯
有效:正确
(格式不正确-我不确定该怎么做,希望有人可以为我编辑:))
我的问题是,
String shortYear = Integer.toString(expiryYear).substring(2,4);
为什么不能进行以下工作:
toString(argument).substring(2,4)
我以为它会起作用(expiryYear本质上被声明为int类型的实例变量)。我已经查阅了我的书(也在网上找到了官方Java教程),似乎什么也找不到。我什至不知道Integer.toString,一个朋友在尝试使用toString()之后告诉了我,所以如果有人也可以告诉我在哪里可以找到这些方法,我将不胜感激。不要以为他们在我的书中)
public class CreditCard {
private int expiryMonth;
private int expiryYear;
private String firstName;
private String lastName;
private String ccNumber;
public CreditCard(int expiryMonth, int expiryYear, String firstName, String lastName, String ccNumber) {
this.expiryMonth = expiryMonth;
this.expiryYear = expiryYear;
this.firstName = firstName;
this.lastName = lastName;
this.ccNumber = ccNumber;
}
public String formatExpiryDate() {
String shortYear = Integer.toString(expiryYear).substring(2, 4);
String expiryDate = expiryMonth + "/" + shortYear;
return expiryDate;
}
public static void main(String[] args) {
CreditCard cc1 = new CreditCard(10, 2014, "Bob", "Jones", "1234567890123456");
System.out.print(cc1.formatExpiryDate());
}
}
最佳答案
尝试String.valueOf(expiryYear).substring(2,4)