1164: 通话记录

题目

Description

使用3个队列,分别保留手机上最近10个,(0)未接来电、(1)已接来电、(2)已拨电话。

Input

全部通话记录,每行一条记录。

每条记录包含两个数字,第一个数代表记录类型,第二个数代表手机号码。

Output

分3列输出未接来电、已接来电、已拨电话。

列之间用空格分割,后接电话在最先输出,不足10条用0占位。

Sample Input

2 18270477699
1 10149800116
0 19906559817
1 16209018105
1 16804212234
2 19289130583
1 17982711123
0 10897630486
1 11860787674
0 15192777554
Sample Output

15192777554 11860787674 19289130583
10897630486 17982711123 18270477699
19906559817 16804212234 0
0 16209018105 0
0 10149800116 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0


代码块


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner cn = new Scanner(System.in);
        Phone[] ph = new Phone[100];//定义一个通讯录类数组
        int i =0;
        while(cn.hasNext()){//对每次进行输入的数,存入到通讯录类中去
            int type = cn.nextInt();
            String str = cn.next();
            ph[i] = new Phone(type,str);
            i++;
        }
        String[][] sh = new String[10][3];//先对,自己定义的数组,进行初始化0
        for(int z =0;z<10;z++){
            for(int y = 0;y<3;y++){
                sh[z][y] = "0";
            }
        }
        int j=0,l=0,h=0;
        for(int k= i-1;k>=0;k--){//因为是要先更新最新的通讯录,放在最前面,
            if(ph[k].getType()==0){//判断,并进行对应的数组存入
                sh[j][0] = ph[k].getNumber();
                j++;
            }
            if(ph[k].getType()==1){
                sh[l][1] = ph[k].getNumber();
                l++;
            }
            if(ph[k].getType()==2){
                sh[h][2] = ph[k].getNumber();
                h++;
            }
        }
        for(int z =0 ;z<10;z++){//进行输入格式的,细心输出,即可ac
            for(int y = 0;y<3;y++){
                if(y<2) System.out.print(sh[z][y]+" ");
                else System.out.print(sh[z][y]);
            }
            System.out.println();
        }
        cn.close();
    }
}
//自己定义的一个通讯录的类,用来存储电话号码等
class Phone {
    private int type;
    private String number;
    public Phone(int type,String number){
        this.type = type;
        this.number = number;
    }
    public int getType(){
        return this.type;
    }
    public String getNumber(){
        return this.number;
    }
}
  • 3
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值