Scanner输入时出现的问题

本文介绍Java中Scanner类的使用方法,特别关注如何处理输入时的换行符问题。通过示例代码展示了如何读取整数及多行字符串,并提供了解决方案避免因换行符导致的输入错误。
import java.util.Scanner;

/**
 * 测试Scanner输入时出现的问题
 *
 */
public class TestScanner {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		// 测试接收一个整数n 接下来接收n行
		/*
		 * 3 
		 * aaa aaa aaa 
		 * bbb bbb bbb 
		 * ccc ccc ccc
		 */
		int n = sc.nextInt();
		// next()、nextDouble() 、 nextFloat()、nextInt()
		// 这几个方法接收完之后他的回车会被下一个nextLine()接收
		// 所以这里加一个nextLine()方法接收回车
		sc.nextLine();
		String[] str = new String[n];
		for (int i = 0; i < n; i++) {
			// next()方法才将其后输入的空格键、Tab键或Enter键等视为分隔符或结束符
			// nextLine()方法返回的是Enter键之前的所有字符
			str[i] = sc.nextLine();

			// 使用trim()方法去掉空格
			// str[i]=sc.nextLine().trim();
		}
		for (int i = 0; i < n; i++) {
			System.out.println(i + "==========" + str[i]);
		}
		sc.close();
	}

}

以下是几个使用 Java 的 `Scanner` 类进行输入的代码示例: ### 读取整数 ```java import java.util.Scanner; public class ReadInteger { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个整数:"); int num = scanner.nextInt(); System.out.println("你输入的整数是: " + num); scanner.close(); } } ``` 这段代码创建了一个 `Scanner` 对象,从控制台读取用户输入的整数值,并将其存储在变量 `num` 中,最后打印出用户输入的整数[^3]。 ### 读取字符串 ```java import java.util.Scanner; public class ReadString { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个字符串:"); String input = scanner.nextLine(); System.out.println("你输入的字符串是: " + input); scanner.close(); } } ``` 此代码使用 `Scanner` 类的 `nextLine()` 方法从控制台读取用户输入的一行字符串,并将其存储在变量 `input` 中,最后将输入的字符串输出。 ### 读取浮点数 ```java import java.util.Scanner; public class ReadFloat { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("请输入一个浮点数:"); double num = scanner.nextDouble(); System.out.println("你输入的浮点数是: " + num); scanner.close(); } } ``` 该代码使用 `Scanner` 类的 `nextDouble()` 方法从控制台读取用户输入的浮点数,并将其存储在变量 `num` 中,最后输出该浮点数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值