我正在尝试制作一个计算器来帮助我完成物理作业。为此,我试图将其分为两部分,因此键入"波长 18"会将其拆分为"波长"和"18"作为数值。
我理解得到我可以使用的第一个单词
String variable = input.next();
但是有没有办法阅读空间之后的内容?
谢谢。
String[] parts = variable.split(" ");
string first = parts[0];
string second = parts[1];
String entireLine = input.nextLine();
String [] splitEntireLine = entireLine.split(" ");
String secondString = splitEntireLine[1];
假设您可能也有三个单词或只有一个单词,最好不要依赖数组。所以,我建议在这里使用列表:
final String inputData = input.next();
//Allows to split input by white space regardless whether you have
//"first second" or "first second"
final Pattern whiteSpacePattern = Pattern.compile("\s+");
final List<String> currentLine = whiteSpacePattern.splitAsStream(inputData)
.collect(Collectors.toList());
然后,您可以执行各种检查,以确保列表中具有正确数量的值并获取数据:
//for example, only two args
if(currentLine.size() > 1){
//do get(index) on your currentLine list
}