我现在正在进行的项目是一个交互式项目。它专注于学习语言。我希望用户能够输入数据,并且控制台根据用户所写的内容以设定的句子进行响应。
我被困在“我的名字是”。我整个早上都在研究 scanner.skip 函数,但似乎找不到我需要的关于如何让它做我想做的事情的信息。我希望用户写“我的名字是[名字]”。然后,我希望控制台将此答案拆分为两个单独的字符串:“我的名字是”和“[名字]”。
我希望能够检查“我的名字是”是否与“我的名字是”完全匹配,同时忽略任何“[名字]”。不过,我希望稍后能够访问“[name]”,以便控制台能够使用用户输入的名称与用户对话。我将如何使用 scanner.skip
函数来执行此操作?这是否是正确的函数?
最佳答案
我会使用子字符串:
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String line = br.readLine();
System.out.printf("line: '%s'%n", line);
if (line.startsWith("My name is ")) {
String name = line.substring("My name is ".length());
System.out.printf("name: '%s'%n", name);
} else {
// print error or something
System.out.println("Error: line has to start with 'My name is ' string.");
}
}
}
使用BufferedReader,因为它更快,并且在这种情况下,它对于以后的处理并不重要......
关于java - 仅根据用户输入的一部分创建字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34244809/