初识Scanner

本文介绍了Java中的Scanner类,它是用于处理控制台输入的工具。通过创建Scanner对象并关联System.in,可以调用nextInt()、nextDouble()等方法读取整数、浮点数。此外,还提到了next()用于获取字符串,nextLine()获取整行内容,以及hasNext()判断是否有更多输入。
摘要由CSDN通过智能技术生成

1.Scanner类简介

Scanner类是java.util包中的一个类

常用于控制台的输入,当需要从控制台输入时可调用这个类.

2.Scanner类用法

  • 我们需要先构造一个Scanner类的对象,并且与标准的输入流System.in相关联
    Scanner sca=new Scanner(System.in);
  • 调用Scanner类对象sca的方法(如csa.nextInt();)从输入流中获取你需要的输入.
  • 注:当创建了一个类对象后,控制台会等待用户输入,直到敲回车键结束,输入的内容会传给对象sca,若要获取输入的内容则可以调用sca的方法.

3.常用方法

3.1—nextInt();//读取整数

		Scanner sca=new Scanner(System.in);
		System.out.println("请输入数字,按回车键结束:");
		int num1=sca.nextInt();
		System.out.println("输入的数字为:"+num1);
		//每次只能读取一个数字

也可以输入一组数字,每个数字可以用空格或者回车隔开,可被多个sca.naxtInt读取.

package com.qf.yunsuan;
import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		Scanner sca=new Scanner(System.in);
		System.out.println("请输入数字,按回车键结束:");
		int num1=sca.nextInt();
		int num2=sca.nextInt();
		int num3=sca.nextInt();
		System.out.println("输入的数字为:"+num1);
		System.out.println("输入的数为为:"+num2);
		System.out.println("输入的数为为:"+num3);
	}
}	

在这里插入图片描述

3.2—nextDouble();//与nextInt();类似,但是nextdouble可以读取浮点数

package com.qf.yunsuan;
import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		Scanner sca=new Scanner(System.in);
		System.out.println("请输入数字,按回车键结束:");
		double num1=sca.nextDouble();
		double num2=sca.nextDouble();
		double num3=sca.nextDouble();
		System.out.println("输入的数字为:"+num1);
		System.out.println("输入的数为为:"+num2);
		System.out.println("输入的数为为:"+num3);
	}
}	

在这里插入图片描述
nextByte();—nextFloat();—nextLong();—nextShot();—方法类似

3.3—next();//可以获取字符串

package com.qf.yunsuan;
import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		Scanner sca=new Scanner(System.in);
		System.out.println("请输入字符串,按回车键结束:");
		String str1=sca.next();
		String str2=sca.next();
		String str3=sca.next();
		System.out.println("输入的字符串为:"+str1);
		System.out.println("输入的字符串为:"+str2);
		System.out.println("输入的字符串为:"+str3);
	}
}	

在这里插入图片描述

3.4—nextLine();//获取光标所在当前行的内容

package com.qf.yunsuan;
import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		Scanner sca=new Scanner(System.in);
		System.out.println("请输入字符串,按回车键结束:");
		String str1=sca.next();//这里sca.next();只获取到了第一个字符串
		String str2=sca.nextLine();
		String str3=sca.nextLine();
		System.out.println("输入的字符串为:"+str1);
		System.out.println("输入的字符串为:"+str2);
		System.out.println("输入的字符串为:"+str3);
	}
}	

在这里插入图片描述

3.5—next().char(value);//在输入的字符串中获取下标为value的字符

package com.qf.yunsuan;
import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		Scanner sca=new Scanner(System.in);
		System.out.println("请输入字符串,按回车键结束:");
		char ch1=sca.next().charAt(0);
		char ch2=sca.next().charAt(2);
		char ch3=sca.next().charAt(3);
		System.out.println("输入的字符串为:"+ch1);
		System.out.println("输入的字符串为:"+ch2);
		System.out.println("输入的字符串为:"+ch3);
	}
}	

在这里插入图片描述

3.6—hasNext();//判断控制台是否有数据输入,返回boolean值

常用作需要多组输入,可以与while配合使用;

//可以判断多个数据是否为质数
package com.qf.yunsuan;

import java.util.Scanner;

public class Test {
	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		System.out.println("请输入一个整数:");
		System.out.println("(退出请输入999!)");
		//当有数据输入时scanner.hasNext()便为true
		while(scanner.hasNext()) {
			int x=scanner.nextInt();
			if(x==999)
				break;//中止循环
			for(int i=2;i<=x/2;i++) {
				if(x%i==0) {
					System.out.println("不是质数");
					System.out.println("请继续输入:");
					break;
				}
				else if(i==x/2) {
					System.out.println("是质数");
					System.out.println("请继续输入:");
				}	
			}
		}
	}
}	

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值