7-4 处理微信消息

7-4 处理微信消息

分数 10

全屏浏览题目

切换布局

作者 姚晓玲

单位 临沂大学

微信接收的消息类型有如下几种:
文本3/图片34/语音42/名片43/视频47/动态表情48/地理位置49/图文53/视频会话10000/系统消息4900001/转账4900002/红包
你可以从微信中收到以上的不同类型的消息,然后进行相应的处理,请编写代码,完成不同消息接收处理过程。

以上是该题的类图,请根据类图,完成代码


public class Main {

    public static void main(String[] args) {
        IMsg [] msgs = new IMsg[3];
        msgs[0] = new VoiceMsg();
        msgs[1]= new MoneyMsg(300);
        msgs[2] = new TextMsg("我给你说哈....");
        People p = new People();
        p.read(msgs);

    }

}
【】 IMsg{
    public void beReadable();
}
class TextMsg 【】{
  String text;
  public TextMsg(String text){
      this.text = text;
  }
    @Override
    【】
}
class VoiceMsg 【】{

    @Override
    public void beReadable() {
        sound();
        
    }
    public void sound(){
        System.out.println("播放信息");
    }
        
}
class MoneyMsg 【】{
      double money;
      public MoneyMsg(double money){
          this.money = money;
      }
        @Override
        【】
    }
    
class People{
    public void read(IMsg []msgs){
    //处理每一条消息
    【】
    }
}

输入格式:

输出格式:

输出各种消息读出信息

输入样例:

18 -299

输出样例:

在这里给出相应的输出。例如:

播放信息
收钱:300.0
处理文本消息:我给你说哈....

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

public class Main {

    public static void main(String[] args) {
        IMsg [] msgs = new IMsg[3];
        msgs[0] = new VoiceMsg();
        msgs[1]= new MoneyMsg(300);
        msgs[2] = new TextMsg("我给你说哈....");
        People p = new People();
        p.read(msgs);

    }

}
interface IMsg{
    public void beReadable();
}
class TextMsg implements IMsg{
  String text;
  public TextMsg(String text){
      this.text = text;
  }
  @Override
  public void beReadable()
  {
	  System.out.println("处理文本消息:"+text);
  }

    
    
    
}
class VoiceMsg implements IMsg{

    @Override
    public void beReadable() {
        sound();
        
    }
    public void sound(){
        System.out.println("播放信息");
    }
        
}
class MoneyMsg implements IMsg {
      double money;
      public MoneyMsg(double money){
          this.money = money;
      }
        @Override
        
       public void beReadable()
       {
        	System.out.println("收钱:"+money);
       }
//		public double getMoney() {
//			return money;
//		}
//		public void setMoney(double money) {
//			this.money = money;
//		}
    }
    
class People{
    public void read(IMsg []msgs){
    //处理每一条消息
    	
    	for(int i=0;i<msgs.length;i++)
    	{
    		if(msgs[i] instanceof TextMsg )
    		{
    			 ((TextMsg)msgs[i]).beReadable();
    		}
    		else if(msgs[i] instanceof VoiceMsg )
    		{
    			((VoiceMsg)msgs[i]).beReadable();
    		}
    		else if(msgs[i] instanceof MoneyMsg)
    		{
    			((MoneyMsg)msgs[i]).beReadable();
    		}
    	}
    	
    
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值