第二十四篇 Java Scanner 类
栏目分类:java教程 发布日期:2019-09-21 浏览次数:次
Scannner类时用来获取用户输入的信息的,以下面例程为例,通过next()方法和nextLine()方法获取用户输入的字符串,使用前需要用hasNext和hasNextLine判断用户是否输入数据完毕。
Scanner one = new Scanner(System.in);
(创建Scanner对象)
next方法、
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner one = new Scanner(System.in);
//接收数据
//next方式接收字符串
System.out.println("next方式接收:");
// 判断是否还有输入
if (one.hasNext()) {
String str = one.next();
System.out.println("输入的数据为:" + str);
}
one.close();
}
}
nextLine 方法
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner one = new Scanner(System.in);
//接收数据
//nextLine方式接收字符串
System.out.println("nextLine方式接收:");
//判断是否还有输入
if (one.hasNextLine()) {
String str = one.nextLine();
System.out.println("输入的数据为:" + str);
}
one.close();
}
}
nexi()与nextLine()相比其一定要读取到有效的字符才能结束输入,遇有效字符之前地空白都会自动去掉,输入有效字符后空白才能作为分隔符或结束符生效,并且next()方法得不到带空格地字符串,nextLine()以enter作为结束符使用,其返回地是回车之前地字符,并且其可以获得空白。
Scanner类支持整形和浮点型数据的输入,但是最好在输入前使用hasNextXxx()方法进行验证,再使用nextXxx()读取。
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner one = new Scanner(System.in);
// 从键盘接收数据
int i = 0;
float f = 0.0f;
System.out.print("输入整数:");
if (one.hasNextInt()) {
// 判断输入的是否是整数
i = one.nextInt();
// 接收整数
System.out.println("整数数据:" + i);
} else {
// 输入错误的信息
System.out.println("输入的不是整数!");
}
System.out.print("输入小数:");
if (one.hasNextFloat()) {
// 判断输入的是否是浮点数
f = one.nextFloat();
// 接收小数
System.out.println("小数数据:" + f);
} else {
// 输入错误的信息
System.out.println("输入的不是小数!");
}
one.close();
}
}
Scanner one = new Scanner(System.in);
(创建Scanner对象)
next方法、
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner one = new Scanner(System.in);
//接收数据
//next方式接收字符串
System.out.println("next方式接收:");
// 判断是否还有输入
if (one.hasNext()) {
String str = one.next();
System.out.println("输入的数据为:" + str);
}
one.close();
}
}
nextLine 方法
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner one = new Scanner(System.in);
//接收数据
//nextLine方式接收字符串
System.out.println("nextLine方式接收:");
//判断是否还有输入
if (one.hasNextLine()) {
String str = one.nextLine();
System.out.println("输入的数据为:" + str);
}
one.close();
}
}
nexi()与nextLine()相比其一定要读取到有效的字符才能结束输入,遇有效字符之前地空白都会自动去掉,输入有效字符后空白才能作为分隔符或结束符生效,并且next()方法得不到带空格地字符串,nextLine()以enter作为结束符使用,其返回地是回车之前地字符,并且其可以获得空白。
Scanner类支持整形和浮点型数据的输入,但是最好在输入前使用hasNextXxx()方法进行验证,再使用nextXxx()读取。
import java.util.Scanner;
public class ScannerDemo {
public static void main(String[] args) {
Scanner one = new Scanner(System.in);
// 从键盘接收数据
int i = 0;
float f = 0.0f;
System.out.print("输入整数:");
if (one.hasNextInt()) {
// 判断输入的是否是整数
i = one.nextInt();
// 接收整数
System.out.println("整数数据:" + i);
} else {
// 输入错误的信息
System.out.println("输入的不是整数!");
}
System.out.print("输入小数:");
if (one.hasNextFloat()) {
// 判断输入的是否是浮点数
f = one.nextFloat();
// 接收小数
System.out.println("小数数据:" + f);
} else {
// 输入错误的信息
System.out.println("输入的不是小数!");
}
one.close();
}
}
本文由IT教学网整理发布,转载请注明出处:http://www.itjx.com/jiaocheng/java/466.html