初学者Java布尔逻辑比较输入值

时间:2017-10-14 17:59:02

标签: java boolean

我是Java的初学者,我正试图找出一个练习。我应该使用基本的布尔逻辑。这个概念是:

输入第一个怪物的名字:汤姆 输入第一个怪物的大小:2 输入第二个怪物的名字:鲍勃 输入第二个怪物的大小:4

怪物1 - 汤姆2 怪物2 - 鲍勃4

怪物一小于怪物二。 Monster one与Monster 2的名字不同。

输入第一个怪物的名字:莎莉 输入第一个怪物的大小:7 输入第二个怪物的名字:弗雷德 输入第二个怪物的大小:2

怪物1 - 莎莉7 怪物2 - 弗雷德2

Monster one比Monster 2大。 Monster one与Monster 2的名字不同。

我有第一部分(“怪物1莎莉7,怪物2弗雷德2”),但我不知道如何使布尔比较工作。我被卡住了。 : - (

使用jcreator,我有一个“Monster.java”标签,上面写着:

import static java.lang.System.*; 

public class Monster
{
    private String name;
    private int howBig; 

    public Monster()
    {


    }

    public Monster(String n, int size)
    {
        name = n;
        howBig = size;
    }

    public String getName()
    {
        return name;
    }

    public int getHowBig()
    {
        return howBig;
    }

    public boolean isBigger(Monster other)
    {
         if(getHowBig() > other.getHowBig()) {
            return false;
         }
        return true;
    }

    public boolean isSmaller(Monster other)
    {
        //call isBigger() use !
        if(getHowBig() < other.getHowBig()) {
            return false;
         }
        return true;
    }

    public boolean namesTheSame(Monster other)
    {
        if(name != other.name)  {
            return false;
         }
        return true;
    }


    public String toString()
    {
        return;
    }
}

和“MonsterRunner.java”标签,内容如下:

import java.util.Scanner;
import static java.lang.System.*; 

public class MonsterRunner
{
    public static void main( String args[] )
    {
        Scanner kb = new Scanner(System.in);

        //ask for name and size
        out.print("Enter 1st monster's name :: ");
        String a = kb.next();
        out.print("Enter 1st monster's size :: ");
        int b = kb.nextInt();

        //ask for name and size
        out.print("Enter 2nd monster's name :: ");
        String c = kb.next();
        out.print("Enter 2nd monser's size :: ");
        int d = kb.nextInt();

        //instantiate monster one
        Monster test = new Monster(a,b);
        out.println("Monster 1 - " + test.getName() + " " + test.getHowBig() );

        //instantiate monster two
        Monster go = new Monster(c,d);
        out.println("Monster 2 - " + go.getName() + " " + go.getHowBig() );

        out.print("Monster 1 is ");

    }
}

1 个答案:

答案 0 :(得分:0)

您能否更具体地了解自己的情况&#34;不确定如何使布尔比较有效。&#34;?我建议从nullpointer读取链接,因为它可以让您更深入地了解Java中的比较语句。我不知道您希望isBigger和isSmaller方法如何工作,但您可能想要查看您正在进行的大小比较。目前isBigger返回true如果其他大于你要比较的怪物(怪物函数被调用来自小于#34;其他&#34;)反之亦然isSmaller,所以我个人会反转这两个。你也不需要在isBigger中使用getHowBig,而在第一个Monster对象中需要更小(因为这是一个不同的对象,因此仍然需要它,因为howBig是类的一部分)。