Java中Scanner的常用方法总结(一次学懂)

 更新时间:2023年11月16日 08:31:49   作者:ZQAW  
这篇文章主要给大家介绍了关于Java中Scanner常用方法的相关资料,Java中的Scanner是一个用于读取用户输入的类,它可以读取各种类型的数据,包括整数、浮点数、字符串等等,需要的朋友可以参考下

Scanner类是一个可以帮助用户键盘输入内容的一个类。

一.基本的Scanner输入

①输入整数、小数

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int a = scanner.nextInt();
		double b = scanner.nextDouble();
		System.out.println(a);
		System.out.println(b);
	}
}

运行截图

②输入一维数组

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();//定义数组长度为n
		int[] arr = new int[n];//定义一个长度为n,名叫arr的数组
		for (int i = 0; i < n; i++) {
			arr[i]=scanner.nextInt();
		}
		System.out.print("Scanner输入的数组为:");
		for (int i = 0 ; i < n ; i++) {
			System.out.print(arr[i]+" ");			
		}
	}
}

运行截图

输入二维数组

import java.util.Scanner;
 
public class Test2 {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int m = scanner.nextInt();
		int[][] mat = new int[n][m];
		System.out.println("请输入整数型的二维数组:");
		for (int i = 0; i < n; i++) {
			for (int j = 0; j < m; j++) {
				mat[i][j]=scanner.nextInt();
			}
		}
		for (int i = 0; i < n; i++) {
			System.out.print("[");
			for (int j = 0; j < m; j++) {
				if(j==m-1) {
					System.out.print(mat[i][j]);
				}else {
					System.out.print(mat[i][j]+",");
				}
			}
			System.out.print("]");
			System.out.println();
		}
	}
}

运行截图

③输入字符串数组

import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		String[] arr = new String[n];
		for(int i = 0 ; i < n ; i ++) {
			arr[i]=scanner.next();
		}
		System.out.println("输入的字符串数组为:");
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i]);
		}
		
	}
}

运行截图

 二.例【猜数字】

创建ScannerDemo类,首先在主方法中创建一个随机数,然后再创建一个while循环不断获取用户输入的数字,让用户输入的数字与随机数比较,给出“大于”或“小于”的提示,直到用户输入的数字与随机数相等才结束循环。

import java.util.Random;
import java.util.Scanner;
 
public class ScannerDemo {
	public static void main(String[] args) {
		Random r = new Random();
		int num = r.nextInt(100);
		int input = -1;
		Scanner scanner = new Scanner(System.in);
		while(true) {
			System.out.println("猜一猜随机数是多少?");
			input=scanner.nextInt();
			if (input>num) {
				System.out.println("你输入的数字大了!");
			}else if(input<num) {
				System.out.println("你输入的数字小了!");
			}else if(input==num) {
				break;
			}else {
				System.out.println("您的输入有误!");
			}
		}
		System.out.println("恭喜你答对了!");
		scanner.close();
	}
}

运行截图

附:Scanner可以指定任意 符号,字符等作为分割符;

范例:

 String s = "you are  Beautiful!you are kind! you are smart!";
        Scanner scanner = new Scanner(s);
        scanner.useDelimiter("!");
 
        while (scanner.hasNext())
            System.out.println(scanner.next());

结果:

总结

到此这篇关于Java中Scanner的常用方法总结的文章就介绍到这了,更多相关Java Scanner常用方法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java19新特性中外部函数与内存API

    Java19新特性中外部函数与内存API

    Java19引入的外部函数与内存API(预览功能)是Project Panama一部分,旨在简化Java与本地代码及非堆内存的交互,提供更低层次的编程能力,解决了传统JNI调用的复杂性、安全性和性能局限,特别适合高性能计算和系统编程领域,感兴趣的可以了解一下
    2024-09-09
  • springmvc url处理映射的三种方式集合

    springmvc url处理映射的三种方式集合

    这篇文章主要介绍了springmvc url处理映射的三种方式集合,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • Java8新特性之StampedLock_动力节点Java学院整理

    Java8新特性之StampedLock_动力节点Java学院整理

    本文从synchronized、Lock到Java8新增的StampedLock进行对比分析,对Java8新特性之StampedLock相关知识感兴趣的朋友一起看看吧
    2017-06-06
  • java读取文件内容为string字符串的方法

    java读取文件内容为string字符串的方法

    今天小编就为大家分享一篇java读取文件内容为string字符串的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • maven-shade使用解决项目版本冲突

    maven-shade使用解决项目版本冲突

    在Maven项目中,第三方组件依赖可能与项目已有组件版本冲突,直接使用可能会导致项目运行失败,可以使用maven-shade-plugin插件,本文就来介绍一下maven-shade版本冲突,感兴趣的可以了解一下
    2024-10-10
  • PowerJob的ServerDiscoveryService工作流程源码解读

    PowerJob的ServerDiscoveryService工作流程源码解读

    这篇文章主要为大家介绍了PowerJob的ServerDiscoveryService工作流程源码解读,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • springboot引用kettle实现对接oracle数据的示例代码

    springboot引用kettle实现对接oracle数据的示例代码

    这篇文章主要介绍了springboot引用kettle实现对接oracle数据,其实kettle集成到springboot里面没有多少代码,这个功能最主要的还是ktr文件的编写,只要ktr编写好了,放到指定文件夹下,写个定时任务就完事了,需要的朋友可以参考下
    2022-12-12
  • 判断二叉树是否为完全二叉树的实例

    判断二叉树是否为完全二叉树的实例

    这篇文章主要介绍了判断二叉树是否为完全二叉树的实例的相关资料,需要的朋友可以参考下
    2017-05-05
  • 浅谈Maven的build生命周期和常用plugin

    浅谈Maven的build生命周期和常用plugin

    Maven和gradle应该是现代java程序员中使用的最多的两种构建工具。在它们出现之前,则是ant的天下。本文将介绍Maven的build生命周期和常用plugin。
    2021-06-06
  • SpringMVC使用hibernate-validator进行参数校验最佳实践记录

    SpringMVC使用hibernate-validator进行参数校验最佳实践记录

    这篇文章主要介绍了SpringMVC使用hibernate-validator进行参数校验最佳实践,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05

最新评论