Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.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 - Fatal编程技术网

Java 使用Scanner类进行输入

Java 使用Scanner类进行输入,java,Java,我从过去的经验中了解到,nexttint()或nextDouble()将继续搜索,直到在同一行或下一行中找到整数或双精度,这无关紧要,而通过scanner类next()读取字符串作为输入在空间之前考虑这些字符串,并将光标保持在同一行中,如 NestLoin()/代码>将考虑 NEXT()/代码>的剩余部分。如果在代码之前使用 NEXTROLL()/代码>,有人能帮助我更详细地理解这一点,尤其是关于 NestLoin()。它从哪里开始,光标从哪里结束?另外,请告诉我我认为的任何错误是否正确。您最初

我从过去的经验中了解到,
nexttint()
nextDouble()
将继续搜索,直到在同一行或下一行中找到整数或双精度,这无关紧要,而通过scanner类
next()读取字符串作为输入在空间之前考虑这些字符串,并将光标保持在同一行中,如<代码> NestLoin()/代码>将考虑<代码> NEXT()/代码>的剩余部分。如果在代码之前使用<代码> NEXTROLL()/代码>,有人能帮助我更详细地理解这一点,尤其是关于<代码> NestLoin()。
它从哪里开始,光标从哪里结束?另外,请告诉我我认为的任何错误是否正确。

您最初的理解是错误的

我从过去的经历中了解到的是.nextInt()或 .nextDouble()将继续搜索,直到整数或双精度 在同一行或下一行中找到,这无关紧要

nextInt()
nextDouble()
分别等待整数和double。如果它得到的是字符串而不是期望值,则抛出
inputmaschException

您可以运行此代码并亲自查看

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner s = new Scanner(System.in);
        s.nextInt();
    }
}
根据你方报价:

.nextInt()或.nextDouble()将继续搜索,直到找到整数 或者在同一行或下一行中找到双精度,这无关紧要

给出输入:
Abcdf234gd
。您将无法获得
234
。您会得到
输入不匹配异常

对于
.next()
.nextLine()

.next()
:仅读取并返回字符串,直到遇到空格或
EOF

.nextLine()
:返回字符串,直到遇到
\n
\r
EOF
。意思是,它返回整行


光标位置

next()

考虑字符串:

ABC DEF GHI JKL MNO PQR STU VWX YZ
ABC DEF GHI JKL 
MNO PQR STU VWX
YZ
初始位置:

->ABC DEF GHI JKL MNO PQR STU VWX YZ
->ABC DEF GHI JKL
MNO PQR STU VWX 
YZ
调用
next()
时,光标移动到:

ABC ->DEF GHI JKL MNO PQR STU VWX YZ
并返回
ABC


nextLine()

考虑字符串:

ABC DEF GHI JKL MNO PQR STU VWX YZ
ABC DEF GHI JKL 
MNO PQR STU VWX
YZ
初始位置:

->ABC DEF GHI JKL MNO PQR STU VWX YZ
->ABC DEF GHI JKL
MNO PQR STU VWX 
YZ
调用
nextLine()
时,光标移动到下一行:

ABC DEF GHI JKL
->MNO PQR STU VWX
YZ
并返回
ABC DEF GHI JKL

我希望有帮助