Java:使用element()打印出队列的头部

时间:2015-06-27 18:28:54

标签: java queue

我想使用element()方法打印这个名称队列的头部但是它不知道 可以以某种方式解释我为什么不这样做?

package lesson1;
import java.util.*;

public class MyClass1{

    public static void main(String[] args) {

        Queue <String> strings= new LinkedList<String>();
        Scanner input= new Scanner(System.in);

        System.out.println("Please enter the number of names, n.");
        int n= input.nextInt();

        System.out.println("Please enter " +n+ " names");

        for(int i=0;i<n; i++){

            strings.add(input.nextLine());
        }

        for(String object: strings){

            System.out.println(object);
        }

        System.out.println("The name in front of the queue is: " + strings.element());
    }
}

1 个答案:

答案 0 :(得分:2)

Queue中的第一个元素是一个空字符串。 这就是为什么strings.element()返回一个空字符串并且您看到输出The name in front of the queue is:

的原因

消除空字符串add:

int n= input.nextInt();
input.nextLine(); // this

说明:在调用nextInt之后,下一个nextLine将使用包含读取的整数的行的末尾,因此第一个strings.add(input.nextLine());将添加一个空字符串到队列中。