java - 如何使用接受用户输入的循环将元素添加到树集中?

标签 java iterator treeset

我一直在尝试使用接受用户输入的循环向 TreeSet 添加元素。我遇到的问题是我创建的循环仅使用用户输入的第一个元素填充 TreeSet。我在本例中使用了所有字符串变量,并且还尝试使用单词“end”作为哨兵值来终止循环,然后打印出已添加到 TreeSet 的元素。我唯一的问题是无法用第一个用户输入元素以上的内容填充 TreeSet。这是我使用的代码:

import java.util.*;
import java.util.Scanner;

public class TestRun {
    public static void main(String[] args) {

        java.util.TreeSet wordList = new java.util.TreeSet();
        Scanner input = new Scanner(System.in);
        String word;
        System.out.print("Enter a word: ");
        wordList.add(input.next());
        while(!(word = input.nextLine()).equals("end")){
            System.out.print("Enter a word: ");
        }
        java.util.Iterator iterator = wordList.iterator();
        while(iterator.hasNext()){
            System.out.print(iterator.next() + " ");
        }
        System.out.println();
    }
}

最佳答案

您在循环中缺少对 wordList.add 的调用:

while(!(word = input.nextLine()).equals("end")){
    wordList.add(word); // The call you were missing
    System.out.print("Enter a word: ");
}

关于java - 如何使用接受用户输入的循环将元素添加到树集中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21463395/

相关文章:

c++ - C++ std::binary_search() 和 std::lower_bound() 组合是否意味着我要进行两次二进制搜索?

python - 为什么我要使用 itertools.islice 而不是普通的列表切片?

java - Set 引用变量中的 TreeSet 实例

java - 排序并消除重复项

java - 使用自定义比较器将对象添加到二进制搜索树?

java - 编写一个程序来计算两个数的余数,而不使用 % 运算符?在 java

java - 获取随机列作为字符串列表

c++ - 迭代两个 vector 迭代器比 boost_foreach 更快

java - 如何在 Selenium Java 编辑器中绘制从一个对象到另一个对象的箭头?

java - 将对象强制转换为另一个类