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
我希望有帮助