用socket发送字符串数组单元的问题
我用以下代码发送字符串完全就可以运行String a="016736";
Socket socket = null;
try
{
//创建Socket
socket = new Socket("10.10.100.254",8899);
//输出流
PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
//向服务器发送消息
out.print(a);
//输入流
InputStream br=socket.getInputStream();
但是,我想把“016736”放进字符串数组里面,再发送数组单元,代码如下:
String[] a;
a=new String[2];
a[0]="016704";
a[1]="016736";
a[2]="016702";
Socket socket = null;
try
{
//创建Socket
socket = new Socket("10.10.100.254",8899);
//输出流
PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
//向服务器发送消息
out.print(a[1]);
//输入流
InputStream br=socket.getInputStream();
然后想发送a[1],但是这样之后程序就没办法运行了,程序的其他部分没有丝毫改动,只是把字符串a 变成了字符串数组单元a[1],求高手指点啊,不知道怎么解决这个问题,因为这个字符串数组有其他用途,所以一定要用数组的,谢谢大家了~~~ --------------------编程问答-------------------- 建议你在现在不能用的代码里面先换回字符串看是否可以正常,如果换回字符串正常的情况下,再考虑:
在
out.print(a[1]);
前面加上
Log.i("test","<------Start------>")
在
out.print(a[1]);
后面加上
Log.i("test","<------Finish------>")
然后运行后看LogCat看是否有执行到此。 --------------------编程问答-------------------- 谢谢AMinfo,问题已解决了,是我初始化数组的问题,把a=new String[2];中的2改成3就可以运行了,是数组定义越界了的问题,太粗心了,嘿嘿~~~
--------------------编程问答-------------------- 呵呵,数组溢出啊.. --------------------编程问答-------------------- a=new String[2];
a[0]="016704";
a[1]="016736";
a[2]="016702";
补充:移动开发 , Android