Java流程控制Scanner 对象
一,Scanner 对象
-
java.util.Scanner可以通过Scanner类来获取输入的东西
-
Scanner s=new Scanner(System.in);
可以通过next()与nextLine方法获取字符串
之前那个无法接收空格,之后那个可以接收字符串
package base.Scanner; import java.util.Scanner; public class demo01 { public static void main(String[] args) { //创建一个扫描对象,用于接收键盘数据 //敲这段代码时,也有一段简便的数据 //mew Scanner(System.in) Scanner scanner = new Scanner(System.in); //接收然后封装成Scanner对象 System.out.println("用next接收字符串:"); //判断用户有没有输入字符串 if(scanner.hasNext() ){ //使用next方式接收 String str=scanner.next(); //输出的结果为,hello System.out.println("输出的内容为:"+str); } //凡是IO流的不关闭就会一直占用资源 //IO流就是输入,输出流 scanner.close(); } }
package base.Scanner; import java.util.Scanner; public class demo02 { public static void main(String[] args) { //new Scanner(System.in);//如何变成封装成一个类的 Scanner scanner=new Scanner(System.in); System.out.println("使用nextLine方式接收:"); if(scanner.hasNextLine()){ //判断是否还有数据接收 String str=scanner.nextLine(); System.out.println("输出的内容为:"+str); scanner.close(); } } }
二,scanner的进阶使用
package base.Scanner;
import java.util.Scanner;
public class demo5 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
//从键盘接收数据
int i=0;
float j=0;
float f=0.0f;
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输入多个数据,进行运算书本
import java.util.Scanner;
public class demo01 {
//利用Scanner类,从键盘输入多个数据
public static void main(String[] args){
int num1;
double num2;
Scanner reader= new Scanner(System.in);
System.out.println("请输入第一个数");
num1=reader.nextInt(); //输入第一个数,为整数
System.out.println("请输入第二个数");
num2=reader.nextFloat();
//实现两数的相加,再进行一个强制的转化
System.out.println(num1+"*"+num2+"="+((float)num1*num2));
}
}
接收字符串的情况
import java.util.Scanner;
//利用Scanner next(), nextline() 两个方法接收字符串ab
public class scanner {
public static void main(String[] args)
{
String s1,s2;
Scanner reader = new Scanner(System.in);
System.out.println("请输入第一个数据");
s1=reader.nextLine();
System.out.println("请输入第二个数据");
s2=reader.next(); //遇到空格则停止输入,不可以读取完整的数据
System.out.println("输入的是"+s1+"和"+s2);
}
}