next( )方法的使用
package scanner;
import java.util.Scanner;
public class Code1 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("使用next方法接收");
//用来判断是否有输入
if(s.hasNext())
{
//接收输入的字符串
String str=s.next();
System.out.println(str);
/*此时终端输入Hello World!但输出的是Hello,因为next()方法忽略字符串
前面的空格但遇到字符串后面的空格便停止直接将前面扫描到的字符串输出*/
}
s.close();
}
}
nextLine( )方法的使用
package scanner;
import java.util.Scanner;
public class Code2 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("使用nextLine()接收");
System.out.println("请输入");
//用于判断是否有行输入
if(s.hasNextLine())
{
String str=s.nextLine();
System.out.println("输出");
System.out.println(str);
}
/*nextLine()方法在接收扫描字符串时直到遇到回车键才停止扫描
然后将扫描的字符串输出(不同于next()方法此方法可以获取字符串前面的空白))*/
s.close();
}
}
当然以上的两种方法里面都使用了if条件判断,同样也可以不用,如下
package scanner;
import java.util.Scanner;
public class Code3 {
public static void main(String[] args) {
Scanner s=new Scanner(System.in);
System.out.println("使用next()");
System.out.println("请输入字符串");
String str=s.next();
System.out.println("输出->");
System.out.println(str);
s.close();
}
}
System.out.println("输出->"+str);
// System.out.println(str);
这两种方式效果一样,使用加号将字符拼串
注意:凡是属于IO流的类如果不关闭会一直占用资源,用完就关掉!!!
写法:
新建对象.close( )方法来关闭(放在最后)。
总结:
Scanner对象的其它方法(进阶练习)
package scanner;
import java.util.Scanner;
public class Code4 {
public static void main(String[] args) {
int i=0;
float j=0.0F;
Scanner scanner=new Scanner(System.in);
System.out.println("请输入整数");
if(scanner.hasNextInt())
{
i= scanner.nextInt();
System.out.println(i+"是整数");
}
else
{
System.out.println("输入的不是整数");
}
System.out.println("请输入浮点数");
if(scanner.hasNextFloat())
{
j= scanner.nextFloat();
System.out.println(j+"是浮点数");
}
else
{
System.out.println("输入的不是浮点数");
}
scanner.close();
}
}
while循环的使用
package scanner;
import java.util.Scanner;
public class Code5 {
public static void main(String[] args) {
double sum=0.0;
int m=0;
Scanner scanner=new Scanner(System.in);
while(scanner.hasNextDouble())
{
double x=scanner.nextDouble();
sum+=x;
m++;
}
System.out.println("共输入"+m+"个数值;"+"总和为:"+sum);
System.out.println(m+"个数值的平均值为:"+(sum/m));
//不难发现以上的循环语句只有当输入的值不是数才会结束
}
}