如何使用带有用户输入的循环向树集添加元素?

时间:2014-01-30 17:28:11

标签: java iterator treeset

我一直在尝试使用接受用户输入的循环向TreeSet添加元素。我遇到的问题是我创建的循环只是用用户输入的第一个元素填充TreeSet。我在这个例子中使用了所有字符串变量,我也试图使用单词'end'作为sentinel值来终止循环,然后打印出已添加到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();
    }
}

2 个答案:

答案 0 :(得分:1)

您在循环中错过了对wordList.add的调用:

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

答案 1 :(得分:0)

import java.util.Scanner;
import java.util.TreeSet;

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

     Scanner sc =new Scanner(System.in);
     int size=0;
     System.out.println("enter the size of an array");
     size = sc.nextInt();
     TreeSet tr = new TreeSet();
     while(size>0)
     {
        tr.add(sc.nextInt());
        size--;
      }
      System.out.println(tr);           
  }
}