0
Scanner kb = new Scanner(System.in);
System.out.print(">> ");
String line = kb.nextLine();
line = line.trim();
int i = 0;
do {
int j = i;
while ((!line.substring(j, j + 1).equals(" ")) && (j < line.length())) {
//while ((j < line.length())&&(!line.substring(j, j + 1).equals(" "))) {
j++;
}
System.out.println("-> " + line.substring(i, j));
i = j;
while ((line.substring(i, i + 1).equals(" "))&&(i<line.length())) {
//while ((i < line.length()) && (line.substring(i, i + 1).equals(" "))) {
i++;
}
}while (i < line.length());
为什么表达....普通表达
while ((!line.substring(j, j + 1).equals(" ")) && (j < line.length()))
不等于与
while ((j < line.length())&&(!line.substring(j, j + 1).equals(" ")))
因为在使用逻辑与时,如果AND运算中的第一个操作数计算结果为false,那么下一个操作数将不会被计算。 – bhups 2011-03-09 05:40:22