Integer.toString(参数)或toString(参数)

时间:2014-02-27 21:48:10

标签: java class object tostring

我已经为信用卡类编写了一些代码,粘贴在下面。我有一个接受所述变量的构造函数,并且正在研究一些方法来将这些变量格式化为字符串,以便最终输出将是

的行。

编号: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());
    }
}

1 个答案:

答案 0 :(得分:3)

尝试String.valueOf(expiryYear).substring(2,4)