2013-06-28 3 views
-2

숫자 125,100은 행에서 호환되지 않는 유형이라고합니다. _die1 = newDie (125,100);제 컴파일러가 호환되지 않는 유형이 있다고 말합니다. Java

NewDie 메서드에서 int 2 ints가 필요하므로 잘 이해하지 못합니다 ...?! 기본적으로이 프로그램은 주사위 롤을 생성하고 난 롤 # 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)); 
} 

} 분명 다이의 _die의 유형과 호환되지

+0

newDie – sashkello

+3

규칙이 있습니다. 1) 컴파일러가 올바르다. 규칙 2) 컴파일러가 틀린 경우 규칙 # 1을 참조하십시오. – user2246674

답변

3

newDie 반환 void을 표시하려고 노력하고있다.

1

newDie(125,100)이라는 줄이 없습니다. 그러나 new Die(125,100) ...이라는 줄이 있습니다. 이것은 매우 다른 것을 의미합니다. 이것은 메소드 호출이 아닌 생성자 호출입니다.

그래서 다음 중 하나를

  • 당신이 newDie 메소드를 호출하고, newDie 반환 void, 또는

  • 당신이 new Die(125, 100)과 다이 생성자와 형식과 실제 매개 변수를 호출하기 때문에 그것이 불평 유형이 일치하지 않습니다.

오류 메시지에 대한 125100 불평을 감안할 때, 나는 2 설명이 더 가능성이 하나라고 생각합니다. 그러나 질문에 Die 생성자 선언을 포함시키지 않았으므로 확신 할 수 없습니다.


또한 _die1, _die2_roll가장 자바 코딩 스타일 ...에 오라클에서 권장하는 코딩 스타일로 특히 따라 스타일 위반을 코딩하는 것을 추가해야합니다. 당신은 다른 이유가 있습니다. (이고 개인적인 선호도가 좋은 이유가 아닙니다.) Java 코드를 작성하여 주류 스타일을 따라야합니다.

코드의 들여 쓰기도 내가 본 코딩 스타일과 일치하지 않으며 수정해야합니다.

독자적으로 코드를 작성하는 사람은 누구나 코드를 읽고 자신의 코드 스타일을 읽지 않아도됩니다. 그러나 누군가 (예 : 강사, 동료, StackExchange 독자)가 누구나 읽고 싶다면 스타일은 이 중요입니다.

관련 문제