开发者社区> 问答> 正文

新手 输入判断 if(judge!="0")?报错

我写了个………

我是想让用户输入题目的对与错来判断,但是无论输入什么,程序总是执行 这一行

System.out.println("只只只    输出……");
还有这个, 为什么我一用 = 就报错,什么格式不能转换的,但一用  !=  就不报错,但却总执行上面那一行

  纠结啊

if(judge!="0")

                    

if(judge!="0"){//错误
			System.out.println("只只只    输出……");
			}else{//正确
				System.out.println(" 输出……");
			}
全部代码在下面		}
package hulande;
import java .io.*;
public class run {
	public  static  void main(String[] args) throws IOException
	{   
		String [] question = {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18"};

		System.out.println("正确请按enter直接跳过  ;");
		System.out.println("错误请按   0  后回车");
		for( int i=0;i<=18;i++){
			//String [] question = {"1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18……………………!!!结束!!!"};
			System.out.println(question[i]);
			//输入
		InputStreamReader reader=new InputStreamReader(System.in);
		BufferedReader input=new BufferedReader(reader);
		String judge = input.readLine();
		
		if(judge!="0"){//错误
			System.out.println("只只只    输出……");
			}else{//正确
				System.out.println(" 输出……");
			}
		}
	
		
	}
	
}

展开
收起
爱吃鱼的程序员 2020-06-22 18:18:33 517 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    if(judge!="0"),谁告诉你怎么用的?
    if("0".equals(judge)){}
    等号是比较内存地址,不是字符串的值,等号只能用来比较基本类型,不能用来判断对象是否相等

    1.=是赋值,!=是比较,猜你想写的是==吧

    2.java不是十分清楚,不知道judge读取的输入是否带有回车符号?

    应该用“==”吧,如果是String类型的用equals
    如果只是判断真假的话,用if(judge) else就可以了;默认为真的你这个编译根本就过不去,别在这无人子弟啊!你这是js的写法。。。。。我想告诉你,试试 ==吧
    兄弟们,这是Java代码,不要在这里误人子弟啊!
    对象比较要用对象的equals方法,字符串不是基本类型,必须要用equals比较
    晕=是复制==才是相等赋值
    2020-06-22 18:18:51
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载