有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

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

怪物一比怪物二小。 怪物一和怪物二的名字不一样

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

怪物1–莎莉7 怪物2–弗雷德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) 个答案

  1. # 1 楼答案

    你能更具体地说明你“不确定如何使布尔比较工作”吗?我建议您阅读nullpointer中的链接,因为它可以让您更深入地了解Java中的比较语句。我不知道你希望你的IsBiger和isSmaller方法如何工作,但你可能想看看你正在做的大小比较。目前,如果other比你比较的怪物大(调用函数的怪物比“other”小),IsBiger会返回true,反之亦然,所以我个人会将这两个值颠倒过来。对于第一个怪物对象,您也不需要在IsBiger和isSmaller中获取howBig,因为howBig是类的一部分,所以其他对象仍然需要它