我需要让用户输入一个 16 位数字(不带后缀或引号),然后将该数字传递给一个对象。每当我尝试输入这样的数字时,它都被认为是“数据类型 int 超出范围”。我不希望用户必须将其输入为 XXXXXXXXXXXXXXXXL,因为用户可能不知道 java 需要一个 L 表示 long
。秒。我也不希望它要求在数字周围加上引号。有没有办法在 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());
关于java - 有没有办法传递一个 16 位整数?如果是这样,怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24598969/