小编c0d*_*der的帖子

用点作为分隔符拆分字符串

我想知道我是否正在.以正确的方式分割字符串?我的代码是:

String[] fn = filename.split(".");
return fn[0];
Run Code Online (Sandbox Code Playgroud)

我只需要字符串的第一部分,这就是我返回第一项的原因.我问,因为我注意到在API中.意味着任何角色,所以现在我被卡住了.

java regex string split

91
推荐指数
6
解决办法
7万
查看次数

在python中看似简单的拓扑排序实现

这里提取我们得到了一个最小的迭代dfs例程,我把它称为最小,因为你很难进一步简化代码:

def iterative_dfs(graph, start, path=[]):
    q = [start]
    while q:
        v = q.pop(0)
        if v not in path:
            path = path + [v]
            q = graph[v] + q

    return path

graph = {
    'a': ['b', 'c'],
    'b': ['d'],
    'c': ['d'],
    'd': ['e'],
    'e': []
}
print(iterative_dfs(graph, 'a'))
Run Code Online (Sandbox Code Playgroud)

这是我的问题,您如何将此例程转换为拓扑排序方法,其中例程也变为"最小"?我看过这个视频,这个想法非常聪明,所以我想知道是否可以在上面的代码中应用相同的技巧,所以topological_sort的最终结果也变得"最小".

不要求拓扑排序的版本,这不是对上述例程的微小修改,我已经看过很少.问题不是"如何在python中实现拓扑排序",而是找到上述代码的最小可能调整集成为topological_sort.

附加评论

在原文中,作者说:

不久之前,我读了Guido van Rossen的图表实现,看似简单.现在,我坚持使用复杂性最低的纯python最小系统.我们的想法是能够探索算法.稍后,您可以优化和优化代码,但您可能希望以编译语言执行此操作.

这个问题的目标不是优化iterative_dfs,而是提出一个从它派生的topology_sort的最小版本(只是为了更多地了解图论算法).其实,我想一个更一般的问题可以像给一组最小的算法,{ iterative_dfs,recursive_dfs,iterative_bfs,recursive_dfs},这将是他们的topological_sort推导?虽然这会使问题变得更长/更复杂,但是从iterative_dfs中找出topology_sort就足够了.

python algorithm graph-theory depth-first-search topological-sort

19
推荐指数
2
解决办法
6569
查看次数

如何更改WampServer 2.5上的www根目录

我需要将wamp的默认站点目录从"c:\ wamp\www"更改为"d:\ sites".现在我在"d:\ sites"中的项目没有显示在项目列表中:

在此输入图像描述

我发现了一些过去的答案是这样一个一个我认为并不适用于WampServer 2.5(无论如何,它并没有为我工作).

我在文档中也发现了这个过程,但它似乎太复杂了我需要的东西.

任何有关此事的帮助将不胜感激.

php wamp wampserver

13
推荐指数
3
解决办法
4万
查看次数

Java获取边框颜色和大小

JTextField tf = new JTextField();
tf.setBorder(new LineBorder(Color.red, 2));
Border border = tf.getBorder();
Run Code Online (Sandbox Code Playgroud)

如何获得边框颜色和大小?

size swing border colors

8
推荐指数
2
解决办法
6002
查看次数

可重复引用javadoc中的方法参数

如何在javadoc中为方法参数创建引用,以便可以重构引用?
例如:

public class A {

    private int field;

    /**
     * @param p 
     * {@link #field} is initialized using the value of p.
     */
    void foo(int p)
    {
        //...

    }
}       
Run Code Online (Sandbox Code Playgroud)

如果我在上面的代码中重命名参数p,我想要

"......使用p的值"

相应更改的文本(正如重命名字段将更改{@link #field}).
我读了这篇旧帖子,还有更多来源,但找不到办法.
javadoc是否支持它?

java eclipse refactoring javadoc

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

如何使用getClass().getResource()方法

当我创建ImageIcon类对象时,我使用以下代码:

iconX = new ImageIcon (getClass().getResource("imageX.png"))
Run Code Online (Sandbox Code Playgroud)

当.png位于类的同一文件夹中时,上述代码可以在applet或桌面应用程序中正常工作.

问题是:如何避免NullPointerException.Png在另一个文件夹中?或者ImageIcon当对象位于类的不同位置时如何加载对象中的图像?

我不明白这种方法是如何工作的,如果有人能帮助我,我会很感激.谢谢!!

java

7
推荐指数
1
解决办法
2万
查看次数

如何映射 JavaFX observables 的值?

我有一个SimpleIntegerProperty并想从中派生出一个SimpleObjectProperty<Color>
为此,我想象了一些机制,比如流和可选:

SimpleIntegerProperty intProp;
ObjectProperty<Color> colorProp = intProp.map(i -> convertIntToColor(i), c -> convertColorToInt(c));
Run Code Online (Sandbox Code Playgroud)

是否已经内置了一些东西,还是我真的需要自己推出它?
如果没有这样的东西,这似乎很奇怪,因为查看 的所有Bindings功能会让您强烈地感觉到该功能也应该存在。

谢谢!

java javafx javafx-8

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

在SVG对象上找到最短路径

我有一个带有由创建者用户制作的楼层地图的 SVG 对象,我想动态地找到该对象上两点之间的最短路径。Dijkstra 算法是寻找图中最短路径的更好解决方案,但该解决方案需要了解图的所有节点。我认为有两种解决方案可以制作最短路径。

解决方案一:http : //postimg.org/image/sok88bsgd/

当用户创建楼层地图时,应同时制作该地图的图形。换句话说,用户应该在此地图中制作所有可能的路径。这种方案的优点是最短路径的计算非常快,但缺点是创建者要用手把所有可能的路径都算出来。

解决方案二:http : //postimg.org/image/4c2bd7smr/

系统计算所有SVG对象并计算最短路径。这种解决方案的巨大缺点是计算非常非常缓慢。你有更好的解决方案吗?谢谢您的答复。

svg dijkstra path-finding shortest-path

6
推荐指数
0
解决办法
835
查看次数

Java随机化字符串

我试图在不使用任何Random()函数的情况下生成无意义的单词。我发现我可以使用当前时钟或鼠标坐标。我选择使用当前时钟。这是我写的代码。

private final char[] charray = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z',
    'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};

private char getRandomCharacter(){
    return charray[random(charray.length)];
}

private int random(int value){
    value =(int) System.nanoTime()% 52;
    return value;
}

protected Randomizer(){
    boolean running = true;
    int count = 0;
    int max = 5;
    while(running){
        StringBuilder sb = new StringBuilder();
        int size = random(25) + random(25);
        for (int i = 0; i < size; i++) {
            sb.append(getRandomCharacter());
        }
        System.out.println("Random Line : " + sb.toString());

        if (count++ == max) {
            running = false;
            System.out.println("All of them …
Run Code Online (Sandbox Code Playgroud)

java random nanotime random-seed current-time

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

JavaFx Gui与Swing的表现

我写了两个简单的程序,都绘制了相同的Sierpinski三角形: 在此输入图像描述
一个程序使用swing实现,一个使用javafx.存在非常显着的性能差异,swing实现持续快得多:

在此输入图像描述


(在这个测试案例中:超过1秒摆动Javafx超过12秒)
是否可以预料到或者我的javafx实现有什么问题?

Swing实现

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Polygon;
import java.awt.image.BufferedImage;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

public class SimpleSrpnskTriSw {

    private Triangles triPanel;

    SimpleSrpnskTriSw(int numberOfLevels){

        JFrame frame = new JFrame("Sierpinski Triangles (swing)");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        triPanel = new Triangles();
        frame.add(triPanel, BorderLayout.CENTER);
        frame.pack();

        frame.setResizable(false);
        frame.setVisible(true);

        triPanel.draw(numberOfLevels);
    }

    class Triangles extends JPanel{

        private static final int PANEL_WIDTH =600, PANEL_HEIGHT = 600;
        private static final int TRI_WIDTH= 500, TRI_HEIGHT= 500;
        private static …
Run Code Online (Sandbox Code Playgroud)

java performance swing javafx

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