2013-02-08 63 views
-2

我正在編寫一個程序,該程序可以滾動2個骰子併爲用戶提供重複滾動的選項(繼續y/n)。此外,應用程序需要識別何時製作某些卷像滾動一個7或2(蛇眼)我不知道如果需要在主要方法或有自己的班級,我失去了!請幫忙。下面是我有什麼應用程序需要我不知道如何編碼它的大綱。多個類別的骰子滾輪應用程序

這是一個主要的方法佈局如下使用我第一次寫我自己的類:

public class DiceRollerApp 
{ 
    public static void main(String[] args) 
    { 
    }// end main method 
}// end App class 

class Die 
{ 
    public Die() 
    {}   // default to six-sided die 
    public Die(int sides) 
    {} // variable number of sides 
    public void roll() 
    {}  // randomly picks a face value 
    public int getValue() 
    {} // returns the face value 
}// end class Die 

class PairOfDice 
{ 
    public PairOfDice() 
    {}   // default to six-sided dice 
    public PairOfDice(int sides) 
    {} // variable number of sides 
    public void roll() 
    {}   // roll both dice 
    public int getValue1(){}  // get value of die1 
    public int getValue2(){}  // get value of die2 
    public int getSum() {} 
    // get sum of both dice 
}// end class PairOfDice 


public class Validator 
{ 
    public static String getString(Scanner sc, String prompt) 
    { 
     System.out.print(prompt); 
     String s = sc.next(); // read user entry 
     sc.nextLine(); // discard any other data entered on the line 
     return s; 
    } 

    public static int getInt(Scanner sc, String prompt) 
    { 
     int i = 0; 
     boolean isValid = false; 
     while (isValid == false) 
     { 
      System.out.print(prompt); 
      if (sc.hasNextInt()) 
      { 
       i = sc.nextInt(); 
       isValid = true; 
      } 
      else 
      { 
       System.out.println("Error! Invalid integer value. Try again."); 
      } 
      sc.nextLine(); // discard any other data entered on the line 
     } 
     return i; 
    } 

    public static int getInt(Scanner sc, String prompt, 
    int min, int max) 
    { 
     int i = 0; 
     boolean isValid = false; 
     while (isValid == false) 
     { 
      i = getInt(sc, prompt); 
      if (i <= min) 
      System.out.println(
      "Error! Number must be greater than " + min + "."); 
      else if (i >= max) 
      System.out.println(
      "Error! Number must be less than " + max + "."); 
      else 
      isValid = true; 
     } 
     return i; 
    } 

    public static double getDouble(Scanner sc, String prompt) 
    { 
     double d = 0; 
     boolean isValid = false; 
     while (isValid == false) 
     { 
      System.out.print(prompt); 
      if (sc.hasNextDouble()) 
      { 
       d = sc.nextDouble(); 
       isValid = true; 
      } 
      else 
      { 
       System.out.println("Error! Invalid decimal value. Try again."); 
      } 
      sc.nextLine(); // discard any other data entered on the line 
     } 
     return d; 
    } 

    public static double getDouble(Scanner sc, String prompt, 
    double min, double max) 
    { 
     double d = 0; 
     boolean isValid = false; 
     while (isValid == false) 
     { 
      d = getDouble(sc, prompt); 
      if (d <= min) 
      System.out.println(
      "Error! Number must be greater than " + min + "."); 
      else if (d >= max) 
      System.out.println(
      "Error! Number must be less than " + max + "."); 
      else 
      isValid = true; 
     } 
     return d; 
    } 
} // end class Validator 

我已經寫了驗證器類,但沒有張貼在這裏,其目的是簡單地驗證字符串的問題「繼續?y/n:」

即時通訊不知道如何編碼模具類和骰子類對,我不知道是否需要有一個單獨的類爲DiceRollerApp。

+5

在過去的幾個小時裏,這個問題有幾個相同的問題。很明顯,任務已經完成,很多學生都懶得自己做任何工作。走開,嘗試一個解決方案,並且只有在遇到一個你無法解決的問題時纔會回來。來到這裏並要求人們爲你做你的工作對你不利,對這個網站也不好。 – Bohemian 2013-02-09 00:06:53

+0

我沒有要求任何人做我的工作,我問了關於編寫死亡班,我做了我的研究,並寫了幾個不起作用的版本。這是我最後的手段,我不想讓人們做我的工作,最重要的是我不會學到任何東西。 – user2035552 2013-02-09 01:43:33

+1

你的代碼在哪裏呢?您已複製粘貼提供給您的代碼框架。換句話說,你什麼也沒做。這些「爲我工作」的問題在這裏不受歡迎,這就是爲什麼我們都投票決定關閉它。讓你的問題變得尖銳起來,範圍縮小 - 理想情況下在一兩行代碼的級別上,那麼你將得到很多好的幫助。 – Bohemian 2013-02-09 02:08:10

回答

0
class Die 
{ 
    private int sides; 

    private int value; 

    public Die() { 
     this.sides = 6; 
    }   // default to six-sided die 

    public Die(int sides) { 
     this.sides = sides; 
    } // variable number of sides 

    public void roll() { 
     value = (int)(Math.random() * (sides-1)) + 1; 
    }  // randomly picks a face value 

    public int getValue() { 
     return value; 
    } // returns the face value 

}// end class Die