Java中 自定义对象( cin ) cin.next()和cin.nextLine()的区别

cin.next()不会吸收回车,空格和tab只要遇到回车,空格和Tab就会停止。
cin.nextLine()吸收空格和tab,遇到回车停止。
以此为例

import java.math.*;
import java.util.*;
import javax.swing.Spring;

public class Main {
	final static int maxn = (int) (1e6 + 5);
	static int[] vis = new int[maxn];

	static int gcd(int a, int b) {/// 欧几里得辗转相除法
		return b == 0 ? a : gcd(b, a % b);
	}

	public static void sieve(int N) {
		for (int i = 0; i <= N; i++)
			vis[i] = 1;
		vis[0] = 0;
		vis[1] = 0;
		vis[2] = 1;
		for (int i = 2; i <= N; i++) {
			if (vis[i] == 1) {
				for (int j = 2 * i; j <= N; j += i) {
					vis[j] = 0;
				}
			}
		}
	}

	public static void main(String[] args) {
//		int[] book = new int[maxn];
		long[] a = new long[maxn];
//		int[] b = new int[maxn];
		Scanner cin = new Scanner(System.in);
//		Map map = new HashMap();
//		Set<Character> s = new HashSet<>();
//		Set<Set<Character>> ss = new HashSet<>();
		// System.out.println(String2);
		// String String2 = cin.next();
//		char []a = String2.toCharArray();// 字符串拆分成数组
//		String s1 = cin.nextLine();/// 吃掉换行符
		int ans = 0;
		while (cin.hasNext()) {
			int n = cin.nextInt();
			cin.nextLine();///吃掉一个回车
			while (n != 0) {
				n--;
				String s = cin.nextLine();
				System.out.println(s);
				System.out.println();
			}
			while(cin.hasNextLine()) {
				String s = cin.nextLine();
				String []x = s.trim().split("\\s+");
				for(int i = 0;i < x.length;i++) {
					System.out.println(x[i]);
					System.out.println();
				}
			}
		}
	}
}

发布了241 篇原创文章 · 获赞 8 · 访问量 4945

猜你喜欢

转载自blog.csdn.net/weixin_43960370/article/details/103111152
cin