通过HackerRank教程,我想知道 - 有没有更好的方法来删除读取双重后出现的换行符?只需重复nextLine()
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
double d = scan.nextDouble();
String b = scan.nextLine();
String s = scan.nextLine();
}
}
注意:代码按原样运行,只是询问是否有一种不太常见的方法来解决这个问题
答案 0 :(得分:1)
一次在线上操作,然后您无需担心nextDouble()
(或nextInt()
)来电留下尾随换行符。像,
Scanner scan = new Scanner(System.in);
int i = Integer.parseInt(scan.nextLine());
double d = Double.parseDouble(scan.nextLine());
String s = scan.nextLine();
如果,您希望允许int
和double
位于同一行,然后您可以
Scanner scan = new Scanner(System.in);
int i = scan.nextInt();
double d = Double.parseDouble(scan.nextLine());
String s = scan.nextLine();
但是在不知道您的输入格式的情况下,这可能会有所帮助。我会更喜欢手头问题最可读的版本(解析输入)。