当前位置:编程学习 > wap >>

android 随机数生成后不能比较

我的这个程序是先生成一个随机数,然后根据这个随机数来输出不同的文字。
但是生成了随机数value之后,却不能输出对应的文字。。

主要源代码如下:

       value = String.valueOf((int) (Math.random() * 10+1));//生成随机数
       resultView.setText(value);//输出随机数

        go.setOnClickListener(new go());//调用下面这个类,go是个button
       
         
}
 class go  implements OnClickListener{        
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
                                    //根据随机数value的不同,explain显示不同的内容
if (value=="1"){
explain.setText(R.string.qian1);
}
else if (value=="2"){
explain.setText(R.string.qian2);
}
else if (value=="3"){
explain.setText(R.string.qian3);
}
else if (value=="4"){
explain.setText(R.string.qian4);
}
else if (value=="5"){
explain.setText(R.string.qian5);
}
else if (value=="6"){
explain.setText(R.string.qian6);
}
else if (value=="7"){
explain.setText(R.string.qian7);
}
else if (value=="8"){
explain.setText(R.string.qian8);
}
else if (value=="9"){
explain.setText(R.string.qian9);
}
else if (value=="10"){
explain.setText(R.string.qian10);
}

    
}
如果我在go这个类之前,直接赋值value="1",就可以输出。请各位帮我看看是什么问题。感激不尽。 --------------------编程问答-------------------- 自己多DEBUG --------------------编程问答-------------------- value=="1"
换成
value.equal("1")

value=="2"等其它表达式类似 --------------------编程问答-------------------- 我觉得使用"1".equal(value)保险点 --------------------编程问答--------------------   把这个类改成这样试试可以吗??class go = new OnClickListener(){} --------------------编程问答-------------------- 用equals(value)
或用将value转化为int Integer.parseInt(value) 再用switch --------------------编程问答-------------------- 你可能不了解吧,java的比较有多重,还有compare这样的方法,equals,他们都是有区别的 --------------------编程问答-------------------- 用equals(Object o)方法比较 --------------------编程问答-------------------- 你把他转化成了字符串了 


那就要明白字符串是应用变量  他们比较“==”的是引用地址而不是真正的值   

比较的是堆中的地址是不是一样的  而不是比较栈中的值是不是一样的   


建议你先看看java中的引用变量和java的内存分配等你就懂了   用equals()是正解 --------------------编程问答-------------------- 建议楼主查一下== 和equals的区别。简单的说==比较的是内存地址 是不是同一个内容,equals是比较是否相同,楼主比较的是string 建议楼主自己好好查下吧。这样自己掌握比较牢固些。还有string的创建,建议楼主好好看看。 --------------------编程问答-------------------- 不说别的,就你这个代码,用equal和==都能取得你想实现的效果。我担心的是你的onClick方法并没有被执行。 --------------------编程问答-------------------- 1楼说的挺好,自己在代码中多加输出语句,看代码每一步都执行到哪儿了,这样才能快速找出问题所在。
补充:移动开发 ,  Android
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,