猿问

求教为什么这样写不能退出while循环

package io;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

public class SystemIndemo {
    public static void main(String[] args) throws Exception{
        InputStream in = System.in;
        InputStreamReader reader = new InputStreamReader(in);
        BufferedReader br = new BufferedReader(reader);

        String str = null;
        while(str!="z"){
            str = br.readLine();
            System.out.println("Input :"+str);
        }
        System.out.println("The end.");
        br.close();
    }
}

为什么输入z回车之后while循环不会退出呢?


胡说叔叔
浏览 489回答 3
3回答

BIG阳

String str = ""; while(!"z".equals(str) && str != null){ str = br.readLine(); System.out.println("Input :"+str); }这样写比较保险报吧。

偶然的你

str!="z",判断字符串相等应该用equals

qq_笑_17

一楼说的是对的,但是就算是用equals,也应该这么写,"z".equals(str),避免产生空指针。
随时随地看视频慕课网APP

相关分类

Java
我要回答