小编Fab*_*out的帖子

Math.Random中的StackOverflowError是一种随机递归方法

这是我的计划的背景.

一个函数有50%的机会什么都不做,50%自称两次.该计划完成的概率是多少?

我写了这段代码,显然效果很好.对每个人来说可能并不明显的答案是,该计划有100%的机会完成.但是当我运行这个程序时,会出现一个StackOverflowError(有多方便;)),在Math.Random()中出现.有人能指出我从哪里来,并告诉我,如果我的代码可能是错的?

static int bestDepth =0;
static int numberOfPrograms =0;
@Test
public void testProba(){
   for(int i = 0; i <1000; i++){
       long time = System.currentTimeMillis();
       bestDepth = 0;
       numberOfPrograms = 0;
       loop(0);
       LOGGER.info("Best depth:"+ bestDepth +" in "+(System.currentTimeMillis()-time)+"ms");
   }
}

public boolean loop(int depth){
    numberOfPrograms++;
    if(depth> bestDepth){
        bestDepth = depth;
    }
    if(proba()){
        return true;
    }
    else{
        return loop(depth + 1) && loop(depth + 1);
    }
}

public boolean proba(){
    return Math.random()>0.5;
}
Run Code Online (Sandbox Code Playgroud)

.

java.lang.StackOverflowError
at java.util.Random.nextDouble(Random.java:394)
at java.lang.Math.random(Math.java:695)
Run Code Online (Sandbox Code Playgroud)

.我怀疑堆栈及其中的功能数量是有限的,但我真的没有看到这里的问题. …

java algorithm

11
推荐指数
1
解决办法
2016
查看次数

JavaFX ComboBox API中的NullPointerException

我的一个屏幕上有一个奇怪的问题,我甚至不知道在哪里看.我在数据库中查找项目并在单独的屏幕(不是实际屏幕,容器)中显示它们的详细信息.

奇怪的是,该程序与大多数项目完美配合,但在某些情况下,它永远不会有效.堆栈跟踪并没有真正帮助我,因为它们都不属于我的源代码.

各位同事,你对这个问题有什么想法或暗示吗?

java.lang.NullPointerException
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.getIndexOfComboBoxValueInItemsList(ComboBoxListViewSkin.java:444)
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.updateDisplayNode(ComboBoxListViewSkin.java:392)
at com.sun.javafx.scene.control.skin.ComboBoxListViewSkin.getDisplayNode(ComboBoxListViewSkin.java:229)
at com.sun.javafx.scene.control.skin.ComboBoxBaseSkin.updateDisplayArea(ComboBoxBaseSkin.java:125)
at com.sun.javafx.scene.control.skin.ComboBoxBaseSkin.computePrefHeight(ComboBoxBaseSkin.java:180)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at javafx.scene.control.Control.computePrefHeight(Control.java:804)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.control.Control.prefHeight(Control.java:686)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1599)
at javafx.scene.layout.Region.getMaxAreaHeight(Region.java:1721)
at javafx.scene.layout.Region.computeMaxPrefAreaHeight(Region.java:1689)
at javafx.scene.layout.HBox.computePrefHeight(HBox.java:394)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1599)
at javafx.scene.layout.VBox.getAreaHeights(VBox.java:394)
at javafx.scene.layout.VBox.computePrefHeight(VBox.java:373)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1599)
at javafx.scene.layout.Region.getMaxAreaHeight(Region.java:1721)
at javafx.scene.layout.Region.computeMaxPrefAreaHeight(Region.java:1689)
at javafx.scene.layout.HBox.computePrefHeight(HBox.java:394)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at javafx.scene.layout.Region.computeChildPrefAreaHeight(Region.java:1599)
at javafx.scene.layout.Region.getMaxAreaHeight(Region.java:1721)
at javafx.scene.layout.Region.computeMaxPrefAreaHeight(Region.java:1693)
at javafx.scene.layout.StackPane.computePrefHeight(StackPane.java:320)
at javafx.scene.Parent.prefHeight(Parent.java:879)
at javafx.scene.layout.Region.prefHeight(Region.java:1384)
at com.sun.javafx.scene.control.skin.ScrollPaneSkin.computeScrollNodeSize(ScrollPaneSkin.java:874)
at com.sun.javafx.scene.control.skin.ScrollPaneSkin.layoutChildren(ScrollPaneSkin.java:753)
at javafx.scene.Parent.layout(Parent.java:1018)
at javafx.scene.Parent.layout(Parent.java:1028)
at javafx.scene.Parent.layout(Parent.java:1028) …
Run Code Online (Sandbox Code Playgroud)

java javafx-2

1
推荐指数
1
解决办法
1983
查看次数

标签 统计

java ×2

algorithm ×1

javafx-2 ×1