概述
之前只知道此类可以用来接收键盘的输入,今天看了李兴华的视频,才知道功能如此之多
先看看System.in
这是一个来自System类中的属性,通过他返回的是一个InputStream,通过这个返回对象的read方法也可以获取从键盘接收的值
package com.cyh.test1;
import java.io.InputStream;
import java.util.Scanner;
public class Demo3{
public static void main(String[] args) throws Exception{
InputStream in = System.in;
byte[] b = new byte[1024];
in.read(b);
System.out.println(new String(b));
}
}
Scanner接收键盘数据
hasNext()系列方法返回布尔值,判断输入的是否满足条件
next()系列函数返回内容
package com.cyh.test1;
import java.io.InputStream;
import java.util.Scanner;
public class Demo3{
public static void main(String[] args) throws Exception{
Scanner scan = new Scanner(System.in);
//有内容的输入
if (scan.hasNext()){
System.out.println(scan.next());
}
//输入的是Double
if (scan.hasNextDouble()){
System.out.println(scan.nextDouble());
}else{
scan.next(); //防止被下面的int读取到,通过next将错误的内容给清空
System.out.println("!Double");
}
//是int
if (scan.hasNextInt()){
System.out.println(scan.nextInt());
}else{
System.out.println("!Int");
}
}
}
读取文件的数据
package com.cyh.test1;
import java.io.*;
import java.util.Scanner;
public class Demo3{
public static void main(String[] args) throws Exception{
File file = new File("c:/aa.txt");
Scanner scan = new Scanner(file);
while (scan.hasNext()){
System.out.println(scan.next());
}
}
}
但是这样默认是以空格和换行条件作为一行数据输出出来的,可以通过
useDelimiter()方法使用规定的字符串进行分割
package com.cyh.test1;
import java.io.*;
import java.util.Scanner;
public class Demo3{
public static void main(String[] args) throws Exception{
File file = new File("c:/aa.txt");
Scanner scan = new Scanner(file);
scan.useDelimiter("n");
while (scan.hasNext()){
System.out.println(scan.next());
}
}
}
一行一行的读取文件
package com.cyh.test1;
import java.io.*;
import java.util.Scanner;
public class Demo3{
public static void main(String[] args) throws Exception{
File file = new File("c:/aa.txt");
Scanner scan = new Scanner(file);
while (scan.hasNextLine()){
System.out.println(scan.nextLine());
}
}
}
最后
以上就是怕孤单白猫为你收集整理的java Scanner类的全部内容,希望文章能够帮你解决java Scanner类所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复