大家好,又见面了,我是你们的朋友全栈君。
这是王秀秀的第23篇博客
?看下方目录
最近本菜鸡做题呀,遇到了一些很好玩的事情,那就是scanner类中的一些方法,经过了解后,真挺好玩的。
next()方法
话不多说上代码
import java.util.Scanner;
public class next_and_nextline {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str1 =null ;
System.out.println("输入的字符串为:");
str1 = sc.next();
System.out.println("输出的字符串为:");
System.out.println(str1);
}
}
结果如下:
输入的字符串为:
a b c
输出的字符串为:
a
由此可以发现啊,这个next()方法在读取数据的时候,遇到有空格的地方,他就停止了,不给干活儿了。这个呢就是next()方法的特性,它适合读取单个的字符or字符串。
下一个
nextline()方法
话不多说上代码
import java.util.Scanner;
public class next_and_nextline {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str1 =null ;
System.out.println("输入的字符串为:");
str1 = sc.nextLine();
System.out.println("输出的字符串为:");
System.out.println(str1);
}
}
结果如下:
输入的字符串为:
a b c
输出的字符串为:
a b c
nextline()可以读取一整行的数据,能让这个猛男停下的额只有,‘回车键了’。嘀嘀嘀,果然老司机还是喜欢开开车。
因此捏;
可以发现,next() nextline()其实区别不是很大,很好区分,
next():
遇到空格就不读取了
nextline():
以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
hasnext()方法
这个方法经常用于判断是否还有输入的数据,
首先看下面的代码,我将hasNext()放在了while()循环里面,由此来判断是否还有需要输入的数据。
下面我将他运行一下,
public class next方法 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String[] str = new String[100];
int i = 0;
while (sc.hasNext()) {
str[i] = sc.next();
//System.out.println(i);
i++;
for (int j = 0; j < i; j++) {
System.out.println(str[j]);
}
}
}
}
我输入了 a b c三个值,而输出的结果却是以下面的结果给出的,思考一下,加上上面所说的,next()方法的用法。
a b c
a
a
b
a
b
c
其实不难发现,a b c三个值,中间是有空格的,当遇到空格,next()就停止了只能最先读取 a。
然后hasNext()就体现出他的用途了,判断是否还有需要输入的值。
不用说当然还有值没被读取,我输入的是什么,我输入的是三个字母,a b c。现在只读取了一个。
因此,b c 被相继读取。
(其实个人对hasNext()了解的还不是太多,只是将心中所理解的写了出来,希望能对在看的你有所帮助。)
我们读过的书,都将像我们吃过的饭菜一样,变成我们的骨骼血肉,成为我们生命的一部分。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/141788.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...