【发布时间】:2015-11-14 18:48:13
【问题描述】:
我不明白为什么 while 循环有效,done 被声明为 false,而 while 循环条件是在 done 不为 false 时运行。那么它为什么会被执行呢? !done 和 done != false 之间也有区别吗?
import java.util.ArrayList;
import java.util.Scanner;
public class ArrayListDemo
{
public static void main(String[] args)
{
ArrayList<String> toDoList = new ArrayList<String>(20);
System.out.println("Enter list entries, when prompted.");
boolean done = false;
String next = null;
String answer;
Scanner keyboard = new Scanner(System.in);
while(!done)
{
System.out.println("Input an entry:");
next = keyboard.nextLine();
toDoList.add(next);
System.out.println("More items for the list? ");
answer = keyboard.nextLine();
if(!(answer.equalsIgnoreCase("yes")))
{
done = true;
}
System.out.println("The list contains:");
for(String entry: toDoList)
{
System.out.println(entry);
}
}
}
}
【问题讨论】:
-
done == false-!done == !false == true- 这样循环运行。哪里出了问题? -
done 为 false,while 循环仅在 done 等于 true 时才循环,为什么它会循环?
标签: java arrays boolean boolean-logic