一个java数组小程序的问题~~~~???急
publicclassReadLine{publicstaticvoidmain(String[]args){bytebuf[]=newbyte[1024];String...
public class ReadLine
{
public static void main(String [] args)
{
byte buf[]=new byte[1024];
String strInfo=null;
int pos=0;
int ch=0;
System.out.println("please enter info, input bye for exit:");
while(true)
{
try
{
ch=System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
switch(ch)
{
case '\r':
break;
case '\n':
strInfo= new String(buf,0,pos);
if(strInfo == "bye")
return ;
else
System.out.println(strInfo);
pos=0;
break;
default:
buf[pos++]=(byte)ch;
}
}
}
}
上面这个程序,能帮我说一下他的执行过程吗》》~??具体说两次循环就行,还有就是这个:strInfo= new String(buf,0,pos);到底是怎么执行的,从buf的第0个元素开始到buf的pos个元素的话那第一次循环时事0到0??那第二次是什么????不明白啊~~~~~~~~~~~~~~~ 展开
{
public static void main(String [] args)
{
byte buf[]=new byte[1024];
String strInfo=null;
int pos=0;
int ch=0;
System.out.println("please enter info, input bye for exit:");
while(true)
{
try
{
ch=System.in.read();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
switch(ch)
{
case '\r':
break;
case '\n':
strInfo= new String(buf,0,pos);
if(strInfo == "bye")
return ;
else
System.out.println(strInfo);
pos=0;
break;
default:
buf[pos++]=(byte)ch;
}
}
}
}
上面这个程序,能帮我说一下他的执行过程吗》》~??具体说两次循环就行,还有就是这个:strInfo= new String(buf,0,pos);到底是怎么执行的,从buf的第0个元素开始到buf的pos个元素的话那第一次循环时事0到0??那第二次是什么????不明白啊~~~~~~~~~~~~~~~ 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询