24小时热门版块排行榜    

查看: 891  |  回复: 1

water11

金虫 (正式写手)

[求助] Java程序没有错误,但不显示结果,求指点。 已有1人参与

java程序运行(环境Eclipse)时没有提示错误, 但是不显示结果,不明所以,请大家帮帮忙,非常感谢。

Person.java代码如下:
public class Person {
        private boolean IsConsuming;
        private boolean IsConcerned;
        private int LastTimeChangeConcernedFromConsumingToNonConsuming;
        private ContinuousSpace <Object> mySpace; // handle for the space
       
        public Person(ContinuousSpace <Object> space, boolean consuming, boolean concerned){
                IsConsuming=consuming;
                IsConcerned=concerned;
                mySpace = space;
                LastTimeChangeConcernedFromConsumingToNonConsuming = 0;
        }       
        @ScheduledMethod (start=1, interval=1 )
        public void step () {
                LastTimeChangeConcernedFromConsumingToNonConsuming++;
        }       
        private void NonConcernedChangeFromConsumingToNonConsuming () {
                if (IsConcerned == false) {
                        double rnd = RandomHelper.nextDouble();
                        if (rnd < 0.1) {
                                IsConsuming = !IsConsuming;
                        }
                }               
        }
        private void ConsumingChangeFromNonConcernedToConcerned () {
                if (IsConcerned == false) {
                        Context <Object> context = ContextUtils.getContext(this);
                        Network <Object> net = (Network<Object> context.getProjection ("communication";
                               
                        Iterable<Object> neighbours = net.getAdjacent(this);
                        for (Object obj : neighbours) {
                                boolean neighbourConcernStatus = ((Person) obj).GetConcernStatus();
                                if (neighbourConcernStatus == true)  {
                                        IsConcerned = true;       
                                }
                        }
                }
        }
        private void ConcernedChangeFromConsumingToConsuming () {
                if ((IsConcerned == true) && (IsConsuming == true)) {
                        Context <Object> context = ContextUtils.getContext(this);
                        Network <Object> net = (Network<Object> context.getProjection ("communication";
                       
                        int number_of_neighbours = 0;
                        int number_of_noncons = 0;
                        Iterable<Object> neighbours = net.getAdjacent(this);
                        for (Object obj : neighbours) {
                                number_of_neighbours++;
                                boolean neighbourConsumingStatus = ((Person) obj).GetConsumingStatus();
                                if (neighbourConsumingStatus == false)  {
                                        number_of_noncons++;
                                }
                        }
                        if (number_of_noncons == number_of_neighbours) {
                                IsConsuming = false;
                                LastTimeChangeConcernedFromConsumingToNonConsuming = 0;
                        }
                }
        }       
        private void NonConsumingChangeFromConcernedToNonConcerned () {
                if ((IsConcerned == true) && (IsConsuming ==false) && (LastTimeChangeConcernedFromConsumingToNonConsuming > 20)) {
                        IsConcerned = false;
                }
        }
        public boolean GetConcernStatus() {
                return IsConcerned;
        }
        public boolean GetConsumingStatus() {
                return IsConsuming;
        }
}
MyStyle.java代码如下:
public class MyStyle extends DefaultStyleOGL2D {
        @Override
        public Color getColor(Object obj) {
                if (obj instanceof Person) {
                        Person agent = (Person) obj;
                        if (agent.GetConsumingStatus() == true) {
                                return Color.BLUE;
                        }
                        else {
                                return Color.RED;
                        }
                }
                else {
                        return null;
                }
        }
        @Override
        public VSpatial getVSpatial(Object obj, VSpatial shape) {
                if (obj instanceof Person) {
                        Person agent = (Person) obj;
                        if (agent.GetConcernStatus() == true) { // consuming
                                return shapeFactory.createRectangle(10, 10); // cubic
                        }
                        else {
                                return shapeFactory.createCircle(3, 10);
                        }
                }
                else {
                        return null;
                }
        }
}
MyContextBuilder.java代码如下:
public class MyContextBuilder implements ContextBuilder<Object> {
        public Context build(Context<Object> context) {               
                ContinuousSpaceFactory spaceFactory = ContinuousSpaceFactoryFinder.createContinuousSpaceFactory(null);
                ContinuousSpace <Object> space = spaceFactory.createContinuousSpace ("space", context, new SimpleCartesianAdder<Object>(),
                        new repast.simphony.space.continuous.WrapAroundBorders(), new double[]{1, 1});
               
                for (int i=1; i<=3; i++){
                        Person p = new Person(space, true, true);
                        context.add(p);
                }
                for (int i=1; i<=3; i++){
                        Person p = new Person(space, true, false);
                        context.add(p);
                }
                for (int i=1; i<=47; i++){
                        Person p = new Person(space, true, false);
                        context.add(p);
                }
                for (int i=1; i<=47; i++){
                        Person p = new Person(space, false, false);
                        context.add(p);
                }               
                // create network projection
                NetworkBuilder <Object> netBuilder = new NetworkBuilder<Object>("communication", context, false);
               
                NetworkGenerator gen;
                gen = new WattsBetaSmallWorldGenerator(0.25, 8, false); // prob connected, degree, symmetrical = false
                netBuilder.setGenerator(gen);
                netBuilder.buildNetwork();

                RunEnvironment.getInstance().endAt(1000);
                return context;
        }
}
回复此楼
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

erghper

铜虫 (小有名气)

【答案】应助回帖

你给的代码看不出啥问题,我觉得关键是你要根据Java运行机制,一步一步去排除错误,比如你要调用某个方法,你最好在这个方法里面打印一下,程序是不是进入了这个方法等等
2楼2014-11-18 09:13:48
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 water11 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 5sJFDKp2kwuI 2026-11-06 4/200 2026-11-07 16:50 by Xc2FxHsHkBNc
[教师之家] 延安大学回应“副教授留绝笔信”:确已离世,正核实举报内容 +3 yexuqing 2026-11-04 5/250 2026-11-07 13:22 by 苏东坡二世
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +10 ncTVBM6AOJHF 2026-11-04 22/1100 2026-11-06 17:18 by 5sJFDKp2kwuI
[考研] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 ELBZ6WwEaRj6 2026-11-05 7/350 2026-11-06 16:43 by 5sJFDKp2kwuI
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +6 ELBZ6WwEaRj6 2026-11-04 11/550 2026-11-06 16:32 by 5sJFDKp2kwuI
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +6 ELBZ6WwEaRj6 2026-11-04 14/700 2026-11-06 16:32 by 5sJFDKp2kwuI
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 ELBZ6WwEaRj6 2026-11-04 10/500 2026-11-06 16:23 by 5sJFDKp2kwuI
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +4 ttH3f1oA6ace 2026-11-04 11/550 2026-11-06 16:10 by 5sJFDKp2kwuI
[公派出国] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +6 ttH3f1oA6ace 2026-11-04 12/600 2026-11-06 16:10 by 5sJFDKp2kwuI
[考博] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +7 ncTVBM6AOJHF 2026-11-04 17/850 2026-11-06 13:47 by BkA9Bi5cMhkD
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +8 ncTVBM6AOJHF 2026-11-04 12/600 2026-11-06 13:47 by BkA9Bi5cMhkD
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +8 ncTVBM6AOJHF 2026-11-04 14/700 2026-11-06 13:36 by BkA9Bi5cMhkD
[考研] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +8 ncTVBM6AOJHF 2026-11-04 18/900 2026-11-06 13:36 by BkA9Bi5cMhkD
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.54,科目齐全,可+急 +5 ELBZ6WwEaRj6 2026-11-05 10/500 2026-11-06 12:32 by BkA9Bi5cMhkD
[硕博家园] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +3 ELBZ6WwEaRj6 2026-11-05 5/250 2026-11-06 09:01 by 2lRNluKrJpwL
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +3 ELBZ6WwEaRj6 2026-11-04 10/500 2026-11-06 05:32 by qL1cU46YIdK0
[硕博家园] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 ELBZ6WwEaRj6 2026-11-04 12/600 2026-11-06 05:32 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +6 kvewwGtKktqB 2026-11-04 16/800 2026-11-06 05:00 by qL1cU46YIdK0
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +4 hNpp4Y2CGvSC 2026-11-04 12/600 2026-11-06 01:53 by qL1cU46YIdK0
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 ncTVBM6AOJHF 2026-11-04 12/600 2026-11-05 11:10 by PYZmcHr5kSaq
信息提示
请填处理意见