基于数组实现一个使用一个FIFO的队列,支持push和pop操作。

qur[0]是用来记录队列中元素个数。
注:这个版本有问题,后面修改后有正确的。

import java.util.*;
public class Main{
    public static void push(int qur[],int num){
        qur[0]++;
        qur[qur[0]]=num;
    }
    public static void pop(int qur[]){
        System.out.println(qur[1]);
        for(int i=2;i<=qur[0];i++){
            int temp = qur[i];
            qur[i-1]=qur[i];
            qur[i]=0;
        }
    }
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int size = sc.nextInt();
        int a[] = new int[size+1];
        while(sc.hasNext()){
            String s = sc.next();
            if(s=="push"){
                int num = sc.nextInt();
                push(a,num);
            }
            else if(s=="pop"){
                pop(a);
            }
        }
        sc.close();
    }
}

更新版

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int size = sc.nextInt();
        int[] a = new int[size];
        int total = 0;
        while(sc.hasNext()){
            String s = sc.next();
            if(s.equals("push")){
                int num = sc.nextInt();
                total++;
                a[total]=num;
            }
            else if(s.equals("pop")){
                System.out.println(a[1]);
                for(int i=1;i<=total-1;i++){
                    a[i]=a[i+1];
                    a[i+1]=0;
                }
                total--;
            }
        }
        sc.close();
    }
}