它表示數字125,100是行中的不兼容類型:_die1 = newDie(125,100);我的編譯器說我有一個不兼容的類型。 Java
我不理解它,因爲在NewDie方法中它需要int 2整數,所以它應該工作正常...?!基本上這個程序創建擲骰,我試圖讓它顯示卷#2
import java.awt.*;
// The panel which holds the two dice
import javax.swing.*;
public class DicePanel extends JPanel
{
// instance variables
private Die _die1, _die2;
private int _roll;
/**
* Constructor for objects of class DicePanel
*/
public DicePanel()
{
// initialise instance variables
super();
setBackground(Color.GRAY);
_die1 = new Die(125,100);
_die2 = new Die(250,100);
roll();
}
// display the dice in the panel
public void paintComponent(Graphics pen)
{
super.paintComponent(pen);
Graphics2D aBetterPen = (Graphics2D)pen;
_die1.paint(aBetterPen);
_die2.paint(aBetterPen);
}
// roll both dice and display them
public void roll()
{
// _die1 = new Two(125,100);
// _die2 = new Three(250,100);
_die1 = newDie(125,100);
// _die2 = DicePanel.newDie(250,100);
//repaint();
}
// retrieve the value of each die
public int getDie1()
{
return _die1.getValue();
}
public int getDie2()
{
return _die2.getValue();
}
// factory method for a die
public void newDie(int x, int y){
//_roll = randomNumber(1,6);
_die1 = new Two(x,y);
// _die2 = new Three(x,y);
}
// random number generator to return and integer between two integers, inclusive.
public static int randomNumber(int low, int high){
return low + (int)(Math.random()*(high-low+1));
}
}
有一種方法newDie – sashkello
規則1)編譯器是正確的;規則2)如果編譯器錯誤,請參閱規則#1。 – user2246674