【Java】输入—Scanner用法(全)[通俗易懂]

【Java】输入—Scanner用法(全)[通俗易懂]Scanner用法目录1、输入整数、字符串数组2、输入二维数组3、输入字符串4、输入字符串分割为数组5、连续输入数字和字符串6、换行输入数字和字符串7、换行输入数字和字符串(需要包含空格)1、输入整数、字符串数组第一行输入n,m第二行输入n个整数第三行输入m个字符串//导入包importjava.util.Scanner;import…

大家好,又见面了,我是你们的朋友全栈君。

Scanner用法


目录

1、输入整数、字符串数组

2、输入二维数组

3、输入字符串

4、输入字符串分割为数组

5、连续输入数字和字符串

6、换行输入数字和字符串

7、换行输入数字和字符串(需要包含空格)


1、输入整数、字符串数组

第一行输入n, m

第二行输入n个整数

第三行输入m个字符串

//导入包
import java.util.Scanner;
import java.util.Arrays;

public class MyScanner {

	public static void main(String[] args) {
		
		//创建对象
		Scanner sc = new Scanner(System.in);		
		System.out.println("输入数据:");	
		//多行输入
		int n = sc.nextInt();
		int m = sc.nextInt();
		int[] arr = new int[n];	
		String[] str = new String[m];
		
		//int等基本数据类型的数组,用nextInt(),同行或不同都可以
		for(int i=0; i<n; i++) {
			arr[i] = sc.nextInt();
		}
		//String字符串数组, 读取用next(),以空格划分
		for(int i=0; i<m; i++) {
			str[i] = sc.next();
		}
		
        //调用方法进行操作
		TestSc(n, m, arr);
		TestStr(str);
		
		System.out.println("Test01 End");
		
		//关闭
		sc.close();
	}
	
	public static void TestSc(int n, int m, int[] arr) {
		System.out.println("数据n:" + n + ", 数据m:" + m);
		System.out.println(Arrays.toString(arr));
	}
	
	public static void TestStr(String[] str) {
		System.out.println(Arrays.toString(str));
	}
		
}

若输入的字符串中想要包含空格,使用scanner.nextLine()换行后用scanner.nextLine()进行读入,见情形7.

2、输入二维数组

第一行输入n, m

第二行开始输入二维数组。

import java.util.Arrays;
import java.util.Scanner;

public class MyScanner2 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);		
		System.out.println("输入数据:");	

		//二维数组
		int n = sc.nextInt();
		int m = sc.nextInt();
		int[][] arr2 = new int[n][m];	
		System.out.println("Test02 输入二维数组数据:");

		//可以直接读入
		for(int i=0; i<n; i++) {
			for(int j=0; j<m; j++) {
				arr2[i][j] = sc.nextInt();
			}
		}

		TestSc(n, m, arr2);
		//关闭
		sc.close();
	}
	
	public static void TestSc(int n, int m, int[][] arr) {
		System.out.println("数据n:" + n + ", 数据m:" + m);
		for(int i=0; i<n; i++) {
			System.out.println(Arrays.toString(arr[i]));
		}
		System.out.println("数组行数: arr.length= "+ arr.length);
		System.out.println("数组列数: arr[0].length= "+ arr[0].length);
	}
	
}

3、输入字符串

输入字符串,用空格隔开。

next()和nextLine()区别。

import java.util.Scanner;
/*
 *next()读取到空白停止,在读取输入后将光标放在同一行中。
 *nextLine()读取到回车停止 ,在读取输入后将光标放在下一行。
 */

public class MyScanner3 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);		
		System.out.println("输入字符串:");		
		
		//next():只读取输入直到空格。
		String str = sc.next();

		//nextLine():读取输入,包括单词之间的空格和除回车以外的所有符号
		String str2 = sc.nextLine();

		System.out.println("str:" + str);
		System.out.println("str2:" + str2);
		
		//关闭
		sc.close();
	}
	
}

4、输入字符串分割为数组

先用scanner.nextLine()读入字符串,再将字符串分割为字符数组或字符串数组。

import java.util.*;

public class MyScanner4 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);	
		System.out.println("输入字符串数组:");
		
		String str;
		str = sc.nextLine();
		
		char[] ch = new char[str.length()];
		for(int i=0; i<str.length(); i++) {
			//用charAt();进行定位分隔
			ch[i] = str.charAt(i);
			System.out.println(ch[i] + " ");
		}
		System.out.println("END");
		
		//读入字符串后,用空格分隔为数组
		String[] strs = str.split(" ");
		System.out.println(Arrays.toString(strs));

	}
}

5、连续输入数字和字符串

区别于情形1,对于不能采用for循环的方式获取String。采用情形5,6用来处理。

采用while(scanner.hasNext()) 循环,实现连续输入。

格式:数字,空格,字符串。

或: 数字,回车,字符串

import java.util.Scanner;

public class MyScanner5 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		while(sc.hasNext()) {					
			int n = sc.nextInt();
			String str = sc.next();
			Tes(n, str);
		}
			
		sc.close();
	}
	
	public static void Tes(int n, String str) {
		System.out.println("n = " + n);
		System.out.println("str = " + str);	
		System.out.println("str.length = " + str.length());
	}
	
}

6、换行输入数字和字符串

也采用scanner.nextLine(),将光标移到下一行。再继续读入字符串。

第一行输入整数n,m,第二行开始输入字符串。或

第一行输入整数n,第二行输入m,第三行开始输入字符串。

import java.util.*;

public class MyScanner6 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		
		//注意!!!光标换到下一行
		sc.nextLine();
		
		String s = sc.nextLine();
		String str = sc.nextLine();
		
		System.out.println("n = " + n + " , m = " + m);
		System.out.println("s = " + s);
		System.out.println("str = " + str);
				
		sc.close();
	}

}

7、换行输入数字和字符串(需要包含空格)

采用scanner.nextLine(),将光标移到下一行。再继续读入字符串。

第一行输入n,

第二行开始输入n行字符串,字符串中包含空格。

import java.util.Scanner;
public class MyScanner7 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		String[] strs = new String[n]; 
		
		sc.nextLine();
		
		for(int i=0; i<n; i++) {
			String str = sc.nextLine();
			strs[i] = str;			
		}
		
		Tes2(strs);
		System.out.println("End");		
		sc.close();
	}
	
	
	public static void Tes2(String[] strs) {
		for(int i=0; i<strs.length; i++) {
			String str = strs[i];
			System.out.println(str);
		}
	}
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160141.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pandas小记:pandas索引和选择

    pandas小记:pandas索引和选择http://blog.csdn.net/pipisorry/article/details/18012125检索/选择索引选择时建议全部使用loc(尤其是修改df原本数据时),原因是最下面说的视图和显示拷贝。dataframe列选择和Series一样,在DataFrame中的一列可以通过字典记法或属性来检索,返回Series:frame2[0]#选择第0列,最新版的好像…

    2022年7月22日
    12
  • python抢淘宝的东西-Python 实现毫秒级淘宝抢购脚本的示例代码

    python抢淘宝的东西-Python 实现毫秒级淘宝抢购脚本的示例代码本篇文章主要介绍了Python通过selenium实现毫秒级自动抢购的示例代码,通过扫码登录即可自动完成一系列操作,抢购时间精确至毫秒,可抢加购物车等待时间结算的,也可以抢聚划算的商品。博主不提供任何服务器端程序,也不提供任何收费抢购软件。该文章仅作为学习selenium框架的一个示例代码。该思路可运用到其他任何网站,京东,天猫,淘宝均可使用,且不属于外挂或者软件之类,只属于一个自动化点击工具,…

    2022年6月10日
    42
  • 新手入侵笔记_探灵笔记适合新手的角色

    新手入侵笔记_探灵笔记适合新手的角色【拿shell】 1.直接上传aspasajspcerphpaspxhtrcdx格式的木马,不行就利用IIS6.0解析漏洞”:1.asp;1.jpg/1.asp;.jpg/1.asp;jpg/1.asp;.xls 2.上传图片木马遇到拦截系统,连图片木马都上传不了,记事本打开图片木马在代码最前面加上gif89a,一般就能逃过拦截系统了。 3.上传图片木马把地址复制到…

    2022年9月21日
    3
  • pycharm2018激活码 pycharm激活码_软件一键无痕看怎么使用的

    pycharm2018激活码 pycharm激活码_软件一键无痕看怎么使用的PyCharm激活码最新破解教程,Mac版激活至2299年,PyCharm激活码2021.3.3

    2022年4月20日
    158
  • java将字符串转换为json对象的方法_java jsonobject转string

    java将字符串转换为json对象的方法_java jsonobject转string在与服务器交互的时候,我们往往会使用json字符串,今天的例子是java对象转化为字符串,代码如下protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Persionp1=newPersion(…

    2022年9月21日
    2
  • HTTP 请求 报错信息406「建议收藏」

    背景:和APP(安卓)联调时,APP请求获取数据时提示406错误解决过程:在网上寻找资料(以前没遇到过),一一排除,最终解决(浪费蛮多时间所以记录下来,等待有缘人)。星空的阿斯的这篇博客https://blog.csdn.net/xingkongdeasi/article/details/799…

    2022年4月11日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号