我一直在尝试使用接受用户输入的循环向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();
}
}
答案 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);
}
}