我为信用卡类写了一些代码,贴在下面。我有一个构造函数,它接受上述变量,并且正在研究一些方法将这些变量格式化为字符串,这样最终输出将按照
电话:1234567890123456
届满日期: 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());
}
}发布于 2014-02-27 21:52:14
试试String.valueOf(expiryYear).substring(2,4)
https://stackoverflow.com/questions/22081218
复制相似问题