黑马程序员技术交流社区

标题: 这个程序怎么退出啊? [打印本页]

作者: 张学东    时间: 2012-10-21 17:08
标题: 这个程序怎么退出啊?
  1. package com.itheima.day19;

  2. import java.util.*;

  3. public class scannerDemo {

  4.         /**
  5.          * @param args
  6.          */
  7.         public static void main(String[] args) {
  8.                 Scanner sn=new Scanner(System.in);
  9.                 String in=null;
  10.           while(in!="over"){
  11.                   in=sn.next();
  12.                             
  13.                   System.out.println(in);
  14.                                    
  15.           }
  16.          System.out.println("已经退出");
  17.         }

  18. }
复制代码

作者: 马磊    时间: 2012-10-21 17:11
这个是个简单的while循环,当你的输入不是over的时候,它就会一直提示输入,所以退出while循环,只要输入over就行了
作者: 张学东    时间: 2012-10-21 17:17
马磊 发表于 2012-10-21 17:11
这个是个简单的while循环,当你的输入不是over的时候,它就会一直提示输入,所以退出while循环,只要输入ov ...

退不出来的...控制台是输不出“已经退出”
作者: 马磊    时间: 2012-10-21 17:59
大意了,应该用while(!("over").equals(in))  这个判断
因为一个字符串是一个对象,每一个新的字符串指向不同的内存地址,==只是在比较它们的地址,所以in的“over” 和字符串“over”的地址是不一样的,所以while不会退出

用String的equals方法可以比较它们的内容




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2