java - 有没有办法传递一个 16 位整数?如果是这样,怎么办?

标签 java object types constructor largenumber

我需要让用户输入一个 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/

相关文章:

java - 如何正确获取HTML Asset

java - 如果在java中没有按下按钮,则在5秒后关闭showOptionDialog

java - 在对象构造函数中使用随机数

c# - 类型转换的性能

python - 为什么我会收到 TypeError : unsupported operand type(s) for +

java - 如何识别多级数组对象类类型而不考虑数组级别?

c# - 有效的 C# 二维列表

javascript - 如何不通过整个响应映射对象

javascript匿名函数作为对象方法

c++ - Winsock - 在 C++ 中从 Java 客户端读取整数