Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Scanner检查是否可以将给定输入添加到指定给给定类型的链接列表中_Java_Data Structures_Linked List_Java.util.scanner - Fatal编程技术网

Java 使用Scanner检查是否可以将给定输入添加到指定给给定类型的链接列表中

Java 使用Scanner检查是否可以将给定输入添加到指定给给定类型的链接列表中,java,data-structures,linked-list,java.util.scanner,Java,Data Structures,Linked List,Java.util.scanner,所以,我正在修补Java的链表类;在实现了我自己的变体之后,我试图用我自己的实现复制“约瑟夫问题”。是否有可能使用java.util.Scanner检查给定用户输入是否可以添加到给定类型的链接列表中 例如: MyLinkedList<Integer> list = new MyLinkedList<>(); java.util.Scanner stdin = new java.util.Scanner(System.in); //If user input's is o

所以,我正在修补Java的链表类;在实现了我自己的变体之后,我试图用我自己的实现复制“约瑟夫问题”。是否有可能使用
java.util.Scanner
检查给定用户输入是否可以添加到给定类型的链接列表中

例如:

MyLinkedList<Integer> list = new MyLinkedList<>();
java.util.Scanner stdin = new java.util.Scanner(System.in);

//If user input's is of the linked list's parametrized type 
//(i.e. Integer, Double, String, etc)
list.add(stdin.(nextType));
//repeat for the 8 primitive type's wrapper classes and then for String and 
//for custom Objects
MyLinkedList=新建MyLinkedList();
java.util.Scanner stdin=新的java.util.Scanner(System.in);
//如果用户输入是链表的参数化类型
//(即整数、双精度、字符串等)
添加(stdin.(nextType));
//对8个基元类型的包装类重复上述步骤,然后对字符串和
//用于自定义对象
其中一个类具有构造函数和给定的add方法,另一个类调用构造函数,然后构造函数提示用户输入列表类型的值(整数、双精度等),直到用户输入停止输入新数据项的命令

1) 我问的有意义吗


2) 有办法做到这一点吗?如果没有,有人能为我指出解决这个问题的正确方向吗?提前谢谢

你为什么不读一下javadoc?你会得到即时的回应,我没想到。非常感谢。当您谈到基元类型时,会有歧义,因为浮点和double可以相同(精度之外),long/integer的容量将不同于MAX_INT,如果长度为1,字符串可以是字符。因此,您的首要任务可能是读取数据并找出您拥有的数据。Commons Lang3有很好的助手,比如NumberRutils来检查是否可解析。@AlexC我主要关心的是我是否能确定整数和双精度与字符串和字符之间的差异,因为这是我遇到最多问题的地方。当我想到这一点时,因为MyLinkedList类是泛型的,所以泛型扫描器会导致类型擦除,这使得我编写的代码毫无用处。integer和double之间的区别是“.”,字符是长度为1的字符串。这至少是一个开始,除了无法从字符串中知道之外,所以“5”可以是int,也可以是double,但您希望double是“5.0”。isParsable()可以检查一个数字,然后查找句点以确保它是双精度的。