我想制作一个程序,不断获取字符串输入,并且仅在“.”时停止。输入后,有什么想法如何制作吗?
我知道我需要创建一个字符串数组,但是如果我不知道用户将输入多少个字符串,我要给它的长度是多少?
我是第一次使用这个网站,如有错误请多多包涵。
谢谢。
编辑: 这是一段让我困惑的代码。我不断输入点,但 for 循环永远不会中断。另外长度当前为 10,如何使其不受限制,直到输入为点?
Scanner s=new Scanner(System.in);
String[] x = new String[10];
for(int i=0;i<10;i++)
{
x[i]=s.next();
if(x[i]==".")
break;
}
最佳答案
Scanner s=new Scanner(System.in);
ArrayList<String> inputs = new ArrayList<>();
while (true) {
inputs.add(s.next());
if(inputs.get(inputs.size().equals("."))
break;
}
记住要导入
ArrayList
。检查documentation有关 ArrayList 的更多信息。
在java中 ==
是一个用于比较引用的运算符。你的新字符串不会有与“.”相同的引用。它将在编译时创建。
equals()
方法用于比较对象是否相等。对于String
,它会逐个字符进行比较,看看它们是否都相同。如果是,则返回true。否则为假。
请记住始终在类中@Override
public boolean equals()
。您必须确定某个类的对象相等意味着什么并实现它。如果您阅读 this 将会很有用话题。那里有广泛的描述。
关于java - 字符串输入直到输入点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39191193/