2017-10-14 84 views
-2

我是一名Java初學者,我試圖找出一個練習。我應該使用基本的布爾邏輯。這個概念是:初學者Java布爾邏輯比較輸入值

輸入1怪物的名字:湯姆 輸入1怪物的大小:2 進入第二個怪物的名字:鮑勃 進入第二個怪物的尺寸:4

怪獸1 - 湯姆2 怪物2 - 鮑勃4

怪物一個比怪物二小。 怪物一個和怪物二不一樣。

輸入1怪物的名字:薩利 輸入1怪物的尺寸: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

[堅果和螺栓](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html) – nullpointer

+1

我已經低估了這個問題,因爲沒有任何研究的證據。請[編輯]你的問題,包括你已經完成的研究和*精確*你有困難的地方。如果你能做到這一點,我可以收回我的downvote。 –

回答

0

你能更具體的你如何「不知道如何使布爾比較工作」?我建議閱讀從nullpointer的鏈接,因爲它讓你更深入的瞭解比較語句在Java中我不知道你希望你的isBigger和isSmaller方法的工作,但你可能想看看你做的大小比較G。目前isBigger如果其他大於你正在比較的怪物(怪物函數被調用小於「其他」)返回true,反之亦然isSmaller,所以我個人會反轉這兩個。因爲howBig是類的一部分,所以你也不需要在isBigger中獲得大小,並且對於第一個Monster對象來說isSmaller(因爲這是一個不同的對象,所以仍然需要它)。