微科社区,轻松开发从此开始! 请登陆 免费注册

微科社区

当前位置:首页 > Java平台 > J2SE >

工厂模式 哪儿有误?

时间:2014-04-10 09:46  浏览:努力统计中...
publicinterfaceDice{ intthrow(); } publicinterfaceFlipCoin{ intthrow(); } publicinterfaceDiceFactory{ DicegetDice(); } publicinterfaceFlipCoinFactory{ FlipCoingetFlipCoin(); } importjava.util.*; publicclassDecideimplementsFlipCoin{ privatest
public interface Dice{
    int throw();
}

public interface FlipCoin{
    int throw();
}

public interface DiceFactory{
    Dice getDice();
}

public interface FlipCoinFactory{
    FlipCoin getFlipCoin();
}

import java.util.*;
public class Decide implements FlipCoin{
    private static Random rand = new Random(47);
    
    public int throw(){
return rand.nextInt(2);
    }
}

import java.util.*;
public class Gamble implements Dice{
    private static Random rand = new Random(47);
    
    public int throw(){
return rand.nextInt(6);
    }
}

public class DecideFactory implements FlipCoinFactory{
    FlipCoin getFlipCoin(){return new Decide();}
}

public class GambleFactory implements DiceFactory{
    Dice getDice(){return new Gamble();}
}

public class Happy{
    public static void playDice(DiceFactory df){
Dice d = df.getDice();
System.out.println(d.throw());
    }

    public static void playFlipCoin(FlipCoinFactory fcf){
FlipCoin fc = fcf.getFlipCoin();
if(fc.throw() == 1){System.out.println("Positive.");}
else {System.out.println("Negtive.");}
    }

    public static void main(String[] args){
playDice(new GambleFactory());
playFlipCoin(new DecedeFactory());
    }
}

编译通不过,不知道这个throw方法有什么问题??????



错误信息

throw是个关键字,换个吧;


厉害厉害,我在写这个程序的时候完全忘了throw是个关键字了。。。
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%
    ------分隔线------