Java Scanner类:用户输入

举报
川川菜鸟 发表于 2022/06/26 23:30:32 2022/06/26
【摘要】 JAVA的输入需要导入Scanner类,以下是几个学习例子。在使用它的时候,需要创建一个对象,语法: Scanner s = new Scanner(System.in); 1 使用的方法有: ...

JAVA的输入需要导入Scanner类,以下是几个学习例子。在使用它的时候,需要创建一个对象,语法:

 Scanner s = new Scanner(System.in); 

  
 
  • 1

使用的方法有:

  • next 方法

一、奇偶数判断(nextInt方法)

import java.util.Scanner; //一定要导入包!
public class test4 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc= new Scanner(System.in);
		System.out.println("输入数据:");	
		//多行输入
		int n = sc.nextInt(); //必须为数字
		String check=(n%2==0)?"偶数":"奇数";
		System.out.println(check);

	}

}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

演示:
在这里插入图片描述

二、next使用

确保用户已经输入,并输出用户的内容:

import java.util.Scanner;
public class test5 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc=new Scanner(System.in);
		System.out.println("请输入字符串:");
		//hasnext用于确保已经接收
		if(sc.hasNext())
		{
			String check=sc.next();
			System.out.println("输入内容为:"+check);
		}
	}

}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

演示:
在这里插入图片描述

三、nextLine使用

import java.util.Scanner;
public class test7 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc= new Scanner(System.in);
		System.out.println("请输入内容:");
		// 判断是否还有输入
		if(sc.hasNextLine()) {
			String s=sc.nextLine();
			System.out.println(s);
		}
	}

}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

演示:
在这里插入图片描述

四、next()与nextLine()区别

next():

  1. 一定要读取到有效字符后才可以结束输入。
  2. 对输入有效字符之前遇到的空白,next()方法会自动将其去掉。
  3. 只有输入有效字符后才将其后面输入的空白作为分隔符或者结束符。
  4. next()不能得到带有空格的字符串。

nextLine():

  1. 以Enter为结束符,也就是说nextLine()方法返回的是输入回车之前的所有字符。
  2. 可以获得空白。

4.1整数输入

如果要输入int或float类型的数据,在Scanner类中也有支持,但是在输入之前最好先使用 hasNextXxx() 方法进行验证,再使用 nextXxx() 来读取。这里以输入int为例:

import java.util.Scanner;
public class test8 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int s=0;
		System.out.print("输入整数:");  
		Scanner sc=new Scanner(System.in);
		if(sc.hasNextInt())
		{
			s = sc.nextInt();
			System.out.println(s);
		}
		else
		{
			System.out.println("您输入的不是整数");
		}
	}

}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

4.2多个值输入

计算累加和与平均值:(最后通过字符输入结束循环)

import java.util.Scanner;
public class test9 {

	public static void main(String[] args) {
		//创建对象
		Scanner sc=new Scanner(System.in);
		//声明变量
		int m=0;
		int sum=0;
		while(sc.hasNextFloat())
		{
			float i=sc.nextFloat();//输入传递给i
			sum+=i;//计算累计和
			m=m+1;//计算个数
		}
		System.out.println("累计和为:"+sum);
		System.out.println("平均值为:"+sum/m);
	}

}


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

演示L:
在这里插入图片描述

文章来源: chuanchuan.blog.csdn.net,作者:川川菜鸟,版权归原作者所有,如需转载,请联系作者。

原文链接:chuanchuan.blog.csdn.net/article/details/125465120

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。