java基础Scanner

用户交互 Scanner

java.util.Scanner

通过Scanner类来获取用户输入

  • 语法规则
Scanner s = new Scanner(System.in);
  • 通过Scanner类的next()与nextline()方法获取输入的字符串,在读取前使用hasNext()与hasNextline()判断是否还有输入的数据
  • 输入输出

1、字符next()

  • 一定要读取到有效字符后才可以结束输入
  • 对输入有效字符前的空格,next()方法会自动将其去掉
  • 输入有效字符后的空白可作为分隔符或结束符
  • next()不能对到带有空格的字符串
package Scanner;

import java.util.Scanner;

public class Demo01 {
	public static void main(String[] args) {
		//创建一个扫描器,用于接收键盘数据
		Scanner scanner = new Scanner(System.in);//new一个Scanner输入
		                                         //封装成scanner对象
		System.out.println("用于next方式接收:");
		
		//判断用户是否输入字符
		if(scanner.hasNext()==true) {//scanner对象是否输入  ture可省略默认为true
			//使用next方式接收
			String str = scanner.next();
			System.out.println("输出的内容为:"+str);
			
		}
		scanner.close();
	}
}

2.nextLine()

  • 以回车为结束符,即nextLine()方法返回的是输入回车之前的所有字符
  • 可获得空格字符
package Scanner;

import java.util.Scanner;

public class Demo02 {
	public static void main(String[] args) {
		 
	Scanner scanner	=new Scanner(System.in);
	System.out.println("使用nextLine来接收:");
	
	if(scanner.hasNextLine());{
	String str = scanner.nextLine();//等待输入
	System.out.println("输出的:\n"+str);
	}
	scanner.close();
	}

}

3.判断

package Scanner;

import java.util.Scanner;

public class Demo03 {
	public static void main(String[] args) {
	Scanner	scanner=new Scanner(System.in);
	
	int i=0;
	double d=0.0f;
	System.out.println("请输入int:");
	if (scanner.hasNextInt()){
	i=scanner.nextInt();
	System.out.println("输出int:\n"+i);
	}
	else {
		System.out.println("非int");
	}
	System.out.println("请输入float:");
	if(scanner.hasNextDouble()) {
		d=scanner.nextDouble();
		System.out.println("输出float:\n"+d);
	}
	else {
		System.out.println("非float");
		
	}
	scanner.close();		
	}
}

4.计算

package Scanner;

import java.util.Scanner;

public class Demo04 {
	public static void main(String[] args) {
		//输入多个数字,计算总和与平均值,每输入一个数字回车确认,非数字退出循环
	Scanner scanner =new Scanner(System.in);
	double sum=0;
	int m=0;
	//通过循环判断是否还有输入,并进行计算
	System.out.println("请输入:");
	while(scanner.hasNextDouble()) {//条件:double类型则循环,非double退出循环
		
		double x = scanner.nextDouble();
		System.out.println("第"+m+"个数字");
		m=m+1;
		sum=sum+x;
		
	}
	System.out.println("输入数字:"+m);
	System.out.println("所有数字的和:"+sum);
	System.out.println("平均数:"+sum/m);

	scanner.close();
	}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

King'sLanding

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值