当前位置: 代码迷 >> Java相关 >> 逻辑出现了问题!
  详细解决方案

逻辑出现了问题!

热度:358   发布时间:2007-11-01 00:52:07.0
逻辑出现了问题!
import java.util.*;
class Test21{
public static void main(String args[]){
Scanner i = new Scanner(System.in);
System.out.println("So you want a holiday in the Caribbean ...");
System.out.print("Non-stop flights is important(true/false)");
Boolean t = i.nextBoolean();
System.out.print("Beautiful beaches is important(true/false)");
Boolean k = i.nextBoolean();
System.out.print("Shopping is important(true/false)");
Boolean l = i.nextBoolean();
if ((t=true)&&k= true)&&(l=true))
System.out.println("Barbados");
if ((t=true)&&(k=true)&&(false))
System.out.println("Barbados or St.Lucia");
if ((t=true)&&(k=false)&&(l=true))
System.out.println("Barbados or St.Lucia");
if((t=true)&&(k=false)&&(l=false))
System.out.println("Barbados or St.Lucia or Trinidad or Tobago");
if((t=false)&&(k=false)&&(l=true))
System.out.println("Barbados or Grenada or St.Lucia");
if((t=false)&&(k=true)&&(l=false))
System.out.println("Barbados or Grenada or Tobago");
if((t=false)&&(k=true)&&(l=true))
System.out.println("Barbados or Grenada");
if((t=false)&&(k=false)&&(l=false))
System.out.println("you can go anywhere");
}
}
我不管输入什么都打印barbados!
搜索更多相关的解决方案: 逻辑  

----------------解决方案--------------------------------------------------------

你这个问题是因为不熟悉JAVA语法造成的
JAVA中的比较运算是==,而不是=(这是个赋值运算符).
所以后面的语句都不会输出,因为后面的表达式结果都为false
(与运算只要有一个不为真就为假)

修改方法:
把 if((t=false)&&(k=false)&&(l=false))这种语句中的=改为==
if((t==false)&&(k==false)&&(l==false))


----------------解决方案--------------------------------------------------------
楼上正解,并且楼主的程序也挺乱的
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
格式密密麻麻的,看得好费劲!
----------------解决方案--------------------------------------------------------
  相关解决方案