小编dan*_*dle的帖子

在Java中列出导入的正确方式是什么?

列出您将需要的每个单独的包装(参见#1)或者从包装中导入所有内容(参见#2)会更好吗?

1

import java.awt.image.ColorModel;
import java.awt.image.ComponentColorModel;
import java.awt.image.ColorConvertOp;
Run Code Online (Sandbox Code Playgroud)

2

import java.awt.*;
Run Code Online (Sandbox Code Playgroud)

java coding-style

20
推荐指数
2
解决办法
4440
查看次数

为什么Java在使用"plus equals"运算符时执行从double到整数的隐式类型转换?

可能重复:
可能导致精度损失的不同行为

代码示例A.

 public class Test {                                                         
     public static void main(String[] args) {
         int i = 0;
         i = i + 1.5;
     }
 }
Run Code Online (Sandbox Code Playgroud)

代码示例B.

 public class Test {                                                         
     public static void main(String[] args) {
         int i = 0;
         i += 1.5;
     }
 }
Run Code Online (Sandbox Code Playgroud)

不出所料,编译A会产生以下错误.令人惊讶的是,编译B不会产生任何错误,并且它看起来像在双值1.5之前插入一个显式转换为整数.为什么世界会发生这种情况?这违背了我认为我知道的一切!

Test.java:6: possible

 loss of precision

    found   : double
    required: int
            i = i + 1.5;
                  ^
    1 error
Run Code Online (Sandbox Code Playgroud)

java

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

如何以与pylab的specgram()相同的方式绘制频谱图?

在Pylab中,该specgram()函数为给定的幅度列表创建频谱图,并自动为频谱图创建窗口.

我想生成频谱图(瞬时功率由下式给出Pxx),通过在其上运行边缘检测器对其进行修改,然后绘制结果.

(Pxx, freqs, bins, im) = pylab.specgram( self.data, Fs=self.rate, ...... )
Run Code Online (Sandbox Code Playgroud)

问题是每当我尝试Pxx使用imshow或甚至修改修改时NonUniformImage,我都会遇到下面的错误消息.

/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/image.py:336:UserWarning:非线性轴不支持图像.warnings.warn("非线性轴不支持图像.")

例如,我正在使用的代码的一部分在下面.

    # how many instantaneous spectra did we calculate
    (numBins, numSpectra) = Pxx.shape

    # how many seconds in entire audio recording
    numSeconds = float(self.data.size) / self.rate


    ax = fig.add_subplot(212)
    im = NonUniformImage(ax, interpolation='bilinear')

    x = np.arange(0, numSpectra)
    y = np.arange(0, numBins)
    z = Pxx
    im.set_data(x, y, z)
    ax.images.append(im) 
    ax.set_xlim(0, numSpectra)
    ax.set_ylim(0, numBins)
    ax.set_yscale('symlog') # see http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.set_yscale …
Run Code Online (Sandbox Code Playgroud)

python audio matplotlib spectrogram

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

java.lang.Runtime是否报告整个Coldfusion服务器或仅一页的内存使用情况?

我正在使用以下ColdFusion代码计算已用内存.

 runtime = CreateObject("java", "java.lang.Runtime").getRuntime();
Run Code Online (Sandbox Code Playgroud)

然后在循环中我执行以下操作来计算已用内存.

var usedGB = (runtime.totalMemory() - runtime.freeMemory()) / 1024.^3; // bytes -> KB -> MB -> GB
Run Code Online (Sandbox Code Playgroud)

这告诉我从我的页面开始就使用了近200 MB.这是CF服务器使用了多少,或者这只是我页面的一些开销?

java memory coldfusion

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

是否可以在Haskell中部分应用第n个参数?

我很好奇是否可以编写一个函数apply_nth,它接受一个函数,一个参数的数量,以及该参数的值,然后返回一个新的,部分应用的函数.

我得到的感觉是,由于类型系统这是不可能的,但我无法得出令人满意的答案.我也无法想出一个工作型签名.

如果语言更松散,我想代码可能看起来像这样.

apply_nth f 0 x = f x
apply_nth f n x = \a -> apply_nth (f a) (n-1) x
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

haskell functional-programming generic-programming dependent-type

9
推荐指数
2
解决办法
266
查看次数

Shell Sort与Insertion/Bubble Sort有什么好处?

我的教授给了我以下Shell Sort的定义.我也包括了Bubble和Insertion Sort算法.

使用Shell Sort与常规插入排序或冒泡排序有gap=1什么好处?最终,壳牌排序归结为无论如何,对吧?

我不是要你做我的作业.我合法地感到困惑,想要了解发生了什么.

此外,我已经访问过维基百科,看过时间复杂度表,我已经知道他们说了什么.我正在寻找原因,而不是什么.

def shell(a, n):
    gap = n / 2

    while gap >= 1:
            insertion(a, n, gap) # or bubble
            gap /= 2

def bubble(a, n, gap=1):
    for i in range(n):
            for j in range(n-i-gap):
                    if a[j] > a[j+gap]:
                            swap(a, j, j+1)

def insertion(a, n, gap=1):
    for i in range(1,n):
            x = a[i]
            j = i-gap

            while j>=0 and  a[j]>x:
                    a[j+gap] = a[j]
                    j-=gap

            a[j+gap]=x
Run Code Online (Sandbox Code Playgroud)

sorting

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

如何从Haskell中的无限列表中获取元素对?

一般问题

我有一个无限的列表,我想选择一对(a,b),其中ab两个来自列表,该对满足一些属性.使用列表推导似乎不起作用,因为列表是无限的.

具体实例

我试图找到一对加起来给定数字的素数(参见此代码高尔夫问题).

我已定义primes,这是一个无限的素数列表,但是当我天真地尝试选择如下所示的一对素数时,该过程永远不会终止.

goldbach n = head [(a,b) | a<-primes, b<-primes, a+b==n]
Run Code Online (Sandbox Code Playgroud)

我意识到这是因为生成的素数列表是[(2,2), (2,3), (2,5)...].基本上,a正在成为第一个元素primes,然后,一旦b用尽,它将移动到第二个元素.因为primes是无限的,它永远不会用尽!

有没有一种简单的方法可以使用列表推导来解决这个问题?如果做不到的话,有一个简单的解决方案吗?

haskell functional-programming lazy-evaluation

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

分支定界算法可以纯函数实现吗?

Branch and Bound 的一般描述

来自维基百科的Branch and Bound

这一步称为剪枝,通常通过维护一个全局变量m(在树的所有节点之间共享)来实现,该变量记录了迄今为止检查的所有子区域中看到的最小上限。任何下界大于m 的节点都可以被丢弃。

实际示例:旅行商问题

旅行商问题的一个简单解决方案是保留一个变量,例如best,表示迄今为止发现的最短哈密顿回路(上限)。

每次我们考虑潜在的新电路中的新步骤时,我们计算当前点的路径成本,例如cost,这是该路径成本的下限,并将其与best变量进行比较。如果在任何时候cost >= best,我们不需要考虑这条路径;我们可以修剪所有以该子路径开头的潜在路径。

这在诸如 C 之类的过程语言中实现并不困难,我们可以在其中创建一个在函数范围内的变量。例如,

int best = -1; // no best path yet

node* solveTSP() {
    // best can be consulted and has a consistent
    // value across all recursive calls to solveTSP()
    ...
}
Run Code Online (Sandbox Code Playgroud)

我的实际问题

我不清楚这种算法将如何在纯功能上实现。有没有办法模拟维基百科定义中提到的全局变量m

我知道在 Lisp 中拥有一个全局变量很简单,但是在更纯粹的函数式语言(如 Haskell)中这可能吗?

algorithm functional-programming branch-and-bound

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

为什么3位十六进制css颜色会像他们那样转换为6?

我知道将3位十六进制css颜色转换为6位数字代码的方法是将每个十六进制数字复制一次,如下所示.

#ABC === #AABBCC
Run Code Online (Sandbox Code Playgroud)

为什么这样工作?为什么不#ABC等同#A0B0C0

css convention styles

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

"受限制的库"在Java中真正意味着什么?

我正在从教授给我的一本书中研究一些成像应用.这本书来自2001年和Eclipse在某些方面告诉我"访问限制:由于对所需库的限制而无法访问类型JPEGImageEncoder/usr/lib/jvm/java-6-openjdk/jre/lib/rt.jar中".

我知道我可以压制这些警告,但这会引起其他问题吗?

java eclipse libraries

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

Coldfusion CFC可以从Java实例化吗?

我知道可以从ColdFusion实例化一个Java类,但是可以从Java代码实例化ColdFusion CFC吗?

例如(在Java中):

ColdFusionCFC obj = new ColdFusionCFC("filename.cfc");
Run Code Online (Sandbox Code Playgroud)

我想知道是否有可能逐渐从现有的ColdFusion代码库转换到其他基于JVM的语言,而无需立即重写所有内容.

coldfusion jvm-languages

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