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); } 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); } 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)); //不难发现以上的循环语句只有当输入的值不是数才会结束 }}