我需要用户输入一个十六位数的数字(不带后缀或引号),然后将该数字传递给一个对象。每当我尝试输入这样的数字时,它就会被视为“数据类型int超出范围”。我不希望用户必须输入它作为XXXXXXXXXXXXXXXXL,因为用户可能不知道java对于long
要求L。我也不希望它在数字周围加上引号。有没有一种方法可以在Java抛出有关数据类型不匹配或超出范围异常的异常之前进行转换?
可以做到吗?我正在尝试构造一个Customer
对象,该对象是Order
对象中的一个字段,该对象本身在ArrayList<Order> orderList
内。 "Sam Totman"
及其旁边的数字是我正在使用的参数的示例。
orderList.get(1).setBuyer(new Customer("Sam Totman", 2112112121121121));
在此构造函数中放置数据类型的位置应该怎么办?
ccn
是信用卡号; public class Customer
{
private String name;
private *datatype* ccn;
Customer(String name, *datatype* ccn)
{
this.name = name;
this.ccn = ccn;
}
最佳答案
orderList.get(1).setBuyer(new Customer("Sam Totman", new Scanner(System.in).nextLong());