我已经为信用卡类编写了一些代码,粘贴在下面。我有一个接受所述变量的构造函数,并且正在研究一些方法来将这些变量格式化为字符串,以便最终输出将是
的行。 编号:1234 5678 9012 3456
到期日:10/14
账户持有人:Bob Jones
有效:是
(格式不正确 - 我不确定该怎么做,很有人可以为我编辑:))
我的问题是,在
行String shortYear = Integer.toString(expiryYear).substring(2,4);
为什么以下不起作用:
toString(argument).substring(2,4)
我会想象它的伤口有效(expiryYear实际上是声明为int类型的实例变量)。我已经查阅了我的书(官方Java教程也在网上找到),似乎找不到任何东西。我甚至不知道Integer.toString,一个朋友在尝试使用toString()后告诉我,所以如果有人能告诉我在哪里可以找到这些方法,我会更加感激(I不要以为它们出现在我的书里)
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());
}
}
答案 0 :(得分:3)
尝试String.valueOf(expiryYear).substring(2,4)