这段java程序中的input.next();是什么意思?有什么用?程序如下

Scanner input = new Scanner(System.in);
int m = 0, n = 0, flag = -1;
do {
System.out.print("请输入第一个数:");
flag = -1;
try {
m = input.nextInt();
} catch (Exception e) {
flag = 100;
System.out.print("输入错误!");
input.next(); (这一句什么意思?什么用?)
}
while (flag == 100);

input.next() 是从键盘获取一个字符串
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int m = 0, n = 0, flag = -1;
do {
System.out.print("请输入第一个数:");
flag = -1;
try {
m = input.nextInt();
} catch (Exception e) {
flag = 100;
System.out.print("输入错误!");
String s = input.next();
System.out.println(s);
}}
while (flag == 100);
我把input.next()打印出来了
请输入第一个数:w
输入错误!w
请输入第一个数:23
input.next()作用在输入非数字的字符时接收,处理输入异常追问

你好,刷新后才看到你的答案,你的这个打印出来 直接明了,很好的让我理解了,谢谢,没采纳到很抱歉!

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-05-25
输入一个int型数据,并赋值给m追问

我只知道这段程序是判断输入是否是int型,直到输入正确为止,我注释掉这一句就会死循环,为什么这一句能起到这个作用?能说具体点吗

追答

啊,你说下面那个呀,我以为是上面的那个,当你在要求输入int的时候输入一个非int的数据,就会产生异常,input.nextint()就没办法把这个数据拿出来,他就会一直在内存里存着,当下一次循环需要输入的时候,她会再尝试调用这个值,然后他又会报错,然后就死循环了...

追问

还是不大明白,input.next() 这句本身的意思?在这段代码中的意思?作用?麻烦你了。。。

追答

当你在要求输入int的时候输入一个非int的数据,就会产生异常,input.nextint()就没办法把这个数据拿出来,他就会一直在内存里存着,当下一次循环需要输入的时候,她会再尝试调用这个值,然后他又会报错,然后就死循环了...为了避免死循环,你就要把这数据拿出来,input.next()的作用就在于此

追问

明白了,那还有没有其他语句能起到跟这句一样的作用?
楼下说“nput.next() 是从键盘获取一个字符串”,什么意思?

追答

input.next()的作用就是让用户输入一个字符串啊,为了把数据从内存中取出来,不管什么类型的,他都能取出来而且不会抛出异常,
其他可以输入字符串的方法应该都可以起到同样的作用,但你还要增加加一些其他的代码,太费事了,不如这个方便
求采纳啊

本回答被提问者采纳

Java里面的input.nextint代表什么意思,哪些语法要用到?
这个意思是使用控制台输入的方式输入下一个整数。在使用控制台输入数据的时候要用到。

java中next是什么意思?
在Java中,Scanner类是一个可以扫描输入流并将其分解为基本数据类型或文本行的对象。对于文本输入,Scanner类定义了一个名为 "next"的方法。该方法读取下一个以空格分隔的标记并返回其结果。该方法的返回值的数据类型与输入标记的类型有关。如果输入是字符串,则返回值是一个字符串。如果输入...

java中input.nextLine()的作用
1、private修饰符你可以不加,默认为protected,加了private就是考虑java的封装性 public InputChecker()是你的类的构造方法,就是你new一个这类,直接在这类进行类的初始化 2、input.nextLine();是读取你输入的字符串,在结尾加上这句,是为了读取下一个行分隔符,不让缓存数据干扰到你的结果 ...

Scanner input = new Scanner(System.in);这句什么用到?
简单的说就是接收用户输入的数据的一个对象,可以使用 input.next()方法提示用户输入,例如:Scanner input = new Scanner(System.in);String a = input.next();程序走到这里会停下来等待用户输入一个字符串,并赋值给a需要导入Java.util包.

Java里int userNum =input.nextInt();的标准含义??
"int userNum =input.nextInt()"的意思就是执行到这一行,程序会暂停运行,等待用户在控制台输入一个整数,然后用回车键结束输入,之后将输入的值赋给userNum。备注一:这句话的前面应该有一句:java.util.Scanner input=new java.util.Scanner(System.in);这句话的意思就是接收输入流。备注二...

java中,next();和nextline();有什么区别啊?
一、答案概述 在Java的输入流中,next和nextLine都是用于读取数据的,但它们读取的数据类型和方式有所不同。二、详细解释 1. next方法:next方法用于读取输入的下一个词汇。这里的词汇是由空格分隔的连续字符序列。它读取到空格或换行符为止。当遇到换行符时,会停止读取当前词汇,但不会对换行符进行消费...

in.+next()在Java中什么意思?
在Java中,in.next()是Scanner类的方法之一,用于从标准输入读取下一个输入的字符串。in表示一个Scanner对象,通过这个对象可以从标准输入读取用户的输入。当执行in.next()时,程序将阻塞等待用户输入,并返回用户输入的字符串,通常会将返回的字符串赋值给一个变量,例如:java Copy code Scanner in = ...

String s=input.nextLine();什么意思
这个就是接受你输入的数据,和java中的int s=input.nextInt();一样

Java中Scanner对象中hasNext()与next()方法浅析
综上所述,当程序使用next()方法时,它会尝试读取下一个输入项。如果成功读取,内部状态更新,下一次调用时可以读取新的输入项。如果失败(例如,没有更多输入项),则会提示用户输入新的值。相比之下,hasNext()则简单得多,它仅判断是否有新的输入项可用。接下来,通过一个简单的案例来直观地理解这...

java中name[i]=in.next();什么意思
首先说一下String[] name=new String[i]这个是定义了含有i个元素的数组 in.next() 是从控制台输入一个字符串。然后把这个字符串赋值给数组的第i+1个元素。如果你真的这样写了的话 可能会出现数组越界哦。

相似回答