一、任务目标
完成一个 java application应用程序,可以接收用户通过键盘输入的文本,并输出此段文本字符的个数。
二、Scanner类
Scanner是JDK1.5新增的一个类,可以使用该类创建一个对象。它是一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
- 创建 Scanner 对象的基本语法:Scanner reader=new Scanner(System.in);
- 获取Scanner 对象的内容:通过 Scanner 类的 next() 与 nextLine() 方法获取输入的字符串,在读取前我们一般需要使用 hasNext() 与 hasNextLine() 判断是否还有输入的数据。
- next() 与 nextLine() 区别:
next():
1.一定要读取到有效字符后才可以结束输入。
2.对输入有效字符之前遇到的空白,next() 方法会自动将其去掉。
3.只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
4.不能得到带有空格的字符串。
nextLine():
1.以Enter为结束符,也就是说 nextLine()方法返回的是输入回车之前的所有字符。
2.可以获得空白。
使用String类的length()方法可获取声明的字符串对象的长度。
三、“可以由用户键入文本内容,并输出其字符个数”的应用程序
程序代码:
import java.util.Scanner; //导入“util.Scanner”包
public class FileTest { //类名“FileTest”
//主函数
public static void main(String[] args) {
System.out.println("请输入文本内容:");
Scanner scan = new Scanner(System.in); // 从键盘接收数据
if (scan.hasNextLine()) //hasNextLine判断是否还有输入的数据
{
String str = scan.nextLine(); //nextLine() 方法获取输入的字符串
int size = str.length(); //length()方法获取声明的字符串对象的长度
System.out.println("文本长度为:"+size); //输出“字符串长度”
}
}
}
运行结果: