System.in的输入字符串的比较问题
问题:当输入add字符串时,总是判断为false
代码:
package mass;
import java.io.BufferedInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
public class ArrayListTest {
ArrayList<String > al = new ArrayList<String>();
public int add(String s)
{
al.add(s);
return al.size()-1;
}
public void look(int i)
{
if(i<1 || i> al.size())
{
System.out.println("输入错误,超出范围或者不存在");
return;
}
System.out.println(al.get(i-1));
}
public void list()
{
Iterator<String> iter = al.iterator();
while(iter.hasNext())
{
System.out.println(iter.next());
}
}
public void remove(int i)
{
if(i < 1 ||i>al.size())
{
System.out.println("输入错误,超出范围或不存在");
return;
}
System.out.println(al.get(i-1));
}
public void clear()
{
al.clear();
}
public static void main(String[] args) throws Exception {
System.out.println("-------------------");
System.out.println(" add指令 :增加");
System.out.println(" look指令 :查看");
System.out.println(" list指令 :打印列表");
System.out.println(" remove指令 :删除");
System.out.println(" clear指令 :清除数据");
System.out.println("-------------------");
BufferedInputStream bis = new BufferedInputStream(System.in);
byte[] buffer = new byte[512];
int length;
String s;
ArrayListTest alt = new ArrayListTest();
while((length = bis.read(buffer,0,buffer.length)) != -1)
{
s = new String(buffer,0,length);
System.out.println(s.equals("add"));
if(s.equals(new String("ss")))
{
alt.list();
}
else if(s.equals(new String("add")))
{
System.out.println("请输入你想添加的字符串");
length = bis.read(buffer,0,buffer.length);
s = new String(buffer,0,length);
alt.add(s);
}
else if (s.equals("look"))
{
bis.read(buffer,0,buffer.length);
int i = buffer[0];
alt.look(i);
}
else if(s.equals("clear"))
{
alt.clear();
}
else if(s.equals("remove"))
{
bis.read(buffer,0,buffer.length);
int i = buffer[0];
alt.remove(i);
}
}
}
}