当前位置: 代码迷 >> Java相关 >> JAVA初学,求指导。
  详细解决方案

JAVA初学,求指导。

热度:398   发布时间:2013-04-08 11:55:32.0
JAVA初学,求指导。
程序代码:
import java.awt.Toolkit;
import javax.swing.JFrame;
public class fivechess extends JFrame{
    public  fivechess(){
        this.setSize(500,500);
        int width=Toolkit.getDefaultToolkit().getScreenSize().width;
        int height=Toolkit.getDefaultToolkit().getScreenSize().height;
        this.setLocation((width-500)/2, (height-500)/2);
        this.setVisible(true);
    }
}

程序代码:
import javax.swing.JOptionPane;
public class test {
    public static void main(String[] args)
    {
        fivechess fc=new fivechess();
        String username;
        do{
            username=JOptionPane.showInputDialog("请输入你的用户名:");
            if(username!=null || username!="")
            {
                System.out.println(username);
                JOptionPane.showMessageDialog(fc,"你的名字是"+ username);
            }
            else
            {
                JOptionPane.showMessageDialog(fc,"请重新输入你的名字");   
            
            }
        }
        while (username==null || username=="");
    }
}

其中fc调用firechess类。
在eclipes中调试,直接确定,并不提示出错。只是不输入用户名时,程序一样执行。请找出bug。
搜索更多相关的解决方案: JAVA  JAVA  

----------------解决方案--------------------------------------------------------
我的本意是用户输入空字符时。系统能检测出空字符。并阻止用户使用空字符命名。。确定后出现。希望是跳过这个步骤。实现
程序代码:
JOptionPane.showMessageDialog(fc,"请重新输入你的名字");   
这个窗口。我的代码上已经写出了if的判断语句。不知到哪里出现了问题。总是不能出现这个窗口提示用户。
----------------解决方案--------------------------------------------------------
改这句
if(username!=null || !username.equals(""))

----------------解决方案--------------------------------------------------------
回复 3楼 hhwz
感谢你的回复,只是改成这句话后,依旧没有什么效果啊。是只有这一个地方有问题么?
----------------解决方案--------------------------------------------------------
if(username!=null && !username.equals(""))
改成并且

----------------解决方案--------------------------------------------------------
回复 5楼 hhwz
不可能吧,我有没有同时满足这两个条件。当用户单机取消时username的值为null,不填任何数据时,单机确定,username得到的却是String类型的“”空值。怎么可能同时满足这两个条件呢?
----------------解决方案--------------------------------------------------------
用不等于 你这个用法就跳不到第2个条件
你知道username确定时为""
但是你条件判断为 username!=null || !username.equals("")
也就是说username!=null  ""!=null 满足了 后面的!username.equals("") 就不会执行了

----------------解决方案--------------------------------------------------------
如你所说,改为&&后。程序跳出Debug。    if(username!=null && !username.equals(""))也出现了问题
----------------解决方案--------------------------------------------------------
出现了什么问题?
一般判断不能为空都是if(username!=null && !username.equals(""))这样 判断的

----------------解决方案--------------------------------------------------------
  相关解决方案