写一个android应用程序,使用UDP与server交互,给用户提供一个文本框输入一个数学算式,点击提交按钮,然后显示答案。这里假定用户永远输入的算式都合法,比如133+122server的代码如下:
import java.net.*;
import java.io.*;
public class UDPServer{
    public static void main(String args[]){
     DatagramSocket aSocket = null;
        String m;
        
  try{
      aSocket = new DatagramSocket(9667);
     // create socket at agreed port
   byte[] buffer = new byte[1000];
    while(true){
     DatagramPacket request = new DatagramPacket(buffer, buffer.length);
      aSocket.receive(request);
                                System.out.println("supply service");
                                m=new String(request.getData(),0,request.getLength());
                                int a=0;
                                int b=0;
                                int result=0;
                                for(int i=0;i<m.length();i++)
                    {
                    if(m.charAt(i)=='+')
                    {
                        a=Integer.valueOf(m.substring(0, i));
                        b=Integer.valueOf(m.substring(i+1, m.length()));
                        result=a+b;
                    }
                    if (m.charAt(i)=='-')
                    {
                        a=Integer.valueOf(m.substring(0, i));
                        b=Integer.valueOf(m.substring(i+1, m.length()));
                        result=a-b;
                    }
                    if (m.charAt(i)=='X')
                    {
                        a=Integer.valueOf(m.substring(0, i));
                        b=Integer.valueOf(m.substring(i+1, m.length()));
                        result=a*b;
                    }
                    if (m.charAt(i)=='/')
                    {
                        a=Integer.valueOf(m.substring(0, i));
                        b=Integer.valueOf(m.substring(i+1, m.length()));
                        result=a*b;
                    }
                }
                        String r=String.valueOf(result);
                        byte[] rep=r.getBytes();
       DatagramPacket reply = new DatagramPacket(rep, rep.length,
        request.getAddress(), request.getPort());
       aSocket.send(reply);
      }
  }catch (SocketException e){System.out.println("Socket: " + e.getMessage());
  }catch (IOException e) {System.out.println("IO: " + e.getMessage());
  }finally {if(aSocket != null) aSocket.close();}
    }