将用户输入与字符串进行比较

时间:2013-10-12 20:57:11

标签: java string equals greenfoot

我是Java的新手,我正在Greenfoot中编写这个简单的程序。 如果我写“h”程序说“相同”,那么之后我想写“i”并得到“相同”,基本上我想在我得到“相同”之后忽略“h”。我不确定这是怎么做的。

    public void act()
{

    String letterh = "h";
    String letteri = "i";
    String keyPress1 = Greenfoot.getKey();
    String keyPress2 = Greenfoot.getKey();
    if (keyPress1 != null) 
    {
        if(keyPress1.equals(letterh))
        {
            System.out.println("Same");

        }
        else
        {
            System.out.println("Not same");
        } 
    }

    if (keyPress2 != null) 
    {
        if(keyPress2.equals(letteri))
        {
            System.out.println("Same");
        }
        else
        {
            System.out.println("Not same");
        }           
    }
}

1 个答案:

答案 0 :(得分:0)

只需在调用时为letterh指定新值(当“h”写入至少一次时)。

public void act()
{

    String letterh = "h";
    String letteri = "i";
    String keyPress1 = Greenfoot.getKey();
    String keyPress2 = Greenfoot.getKey();
    if (keyPress1 != null) 
    {
        if(keyPress1.equals(letterh))
        {
           Called.call1();

        }

    }

    if (keyPress2 != null) 
    {
       if(keyPress2.equals(letteri))
        {
            Called.call2();
        }
        else
        {
            System.out.println("Not same");
        }       

    }
}

使用以下代码创建一个新的类文件“Called.java”。

public class Called {
static String count="one"; //observe this static string usage
static void call1()
{
    if(count.equals("one"))
    {
        System.out.println("Same");
        count="somestring"; //call1() if condition will fail with this string not equal to "one"

    }
    else
    {
    System.out.println("Not Same");
    }
}
static void call2()
{

        System.out.println("Same");
}

}

这里要注意的主要是静态关键字用法。