1,控制台输入
1.1 nextInt()
只读取数值,剩下”\n”还没有读取,并将cursor放在本行中。
Scanner in=new Scanner(System.in);
int op=in.nextInt();
nextInt()方法在读取数字时,不会将转义字符读进去,因此换行字符就留在了输入缓冲区上,而nextLine()方法是以换行字符为结束符将数据与结束符读入。所以就会出现在nextInt()方法后的nextLine()读入的是空字符串。
针对这个问题,有两种方法解决:
1.在nextInt()和nextLine()中间加入一个nextLine()。
2.都使用nextLine()进行读取,在读取整数时采用Integer类的parseInt()方法转换成整数。
数组输入:
int[] arr = new int[5];
Scanner in = new Scanner(System.in);
for(int i=0; i<5;i++){
arr[i] = in.nextInt();
}
②next()
只读空格之前的数据,并且cursor指向本行。
next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。
in.next();
③nextLine()
可以扫描到一行内容并作为一个字符串而被获取到。
in.nextLine();
2,文件读取写入
3,配置文件
1)概念
配置文件中很多变量是经常改变的,这样做也是为了方便用户,让用户能够脱离程序本身去修改相关的变量设置。
2)读取配置文件
①java.util.ResourceBundle
ResourceBundle类通常是用于针对不同的语言来使用的属性文件。
而如果你的应用程序中的属性文件只是一些配置,并不是针对多国语言的目的。那么使用Properties类就可以了。
ResourceBundle是实现国际化应用常用的手段。