java - 字符串输入直到输入点

标签 java

我想制作一个程序,不断获取字符串输入,并且仅在“.”时停止。输入后,有什么想法如何制作吗?

我知道我需要创建一个字符串数组,但是如果我不知道用户将输入多少个字符串,我要给它的长度是多少?

我是第一次使用这个网站,如有错误请多多包涵。

谢谢。

编辑: 这是一段让我困惑的代码。我不断输入点,但 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/

相关文章:

java - 使用 Java 通过暴力计算多项式

Java:使用 Silvertunnel Netlib 的 Tor HTTP 请求

java - 进度条跟踪下载

java - Http 获取 Web 服务上的请求不起作用

java - 如何仅删除字符串中大写字符的变音符号

java - 超海量馆藏

java - 多个线程获取同一个监视器?

java - 使用 AES-CFB 在 Python 中加密并在 Java 中解密

java - 使用 JDO 持久化/检索对象时 DataNucleus DAO 对象中的 ClassCastException

java - java中的sql变量查询