经过剖析后,我发现这种方法占用了大部分计算时间.我真的没有看到优化的方法,因为它是一个可怕的功能.(它是......)也许有人能给我一些好主意吗?
public static double perceivedLoudness(double L_G, double L_ETQ, double a0) {
double t1 = 1d + 1 / 4d * Math.pow(10d, 0.1d * (L_G - a0 - L_ETQ));
double t2 = Math.pow(t1, 0.25);
return 0.064d * Math.pow(10, 0.025 * L_ETQ) * (t2 - 1);
}
Run Code Online (Sandbox Code Playgroud)
这是改进版本:
public static double perceivedLoudness(double L_G, double L_ETQ, double a0) {
double x = L_G - a0 - L_ETQ;
double t1 = 0.25 * Math.exp(0.230259 * x) + 1;
double t2 = Math.sqrt(Math.sqrt(t1));
return ltqFactors[(int)L_ETQ] …
Run Code Online (Sandbox Code Playgroud) 编辑:目前不提供JUnit 4.
嗨,您好,
我有一个关于使用JUnit进行"智能"异常测试的问题.这时,我这样做:
public void testGet() {
SoundFileManager sfm = new SoundFileManager();
// Test adding a sound file and then getting it by id and name.
try {
SoundFile addedFile = sfm.addSoundfile("E:\\Eclipse_Prj\\pSound\\data\\Adrenaline01.wav");
SoundFile sf = sfm.getSoundfile(addedFile.getID());
assertTrue(sf!=null);
System.out.println(sf.toString());
sf = sfm.getSoundfileByName("E:\\Eclipse_Prj\\pSound\\data\\Adrenaline01.wav");
assertTrue(sf!=null);
System.out.println(sf.toString());
} catch (RapsManagerException e) {
System.out.println(e.getMessage());
}
// Test get with invalid id.
try {
sfm.getSoundfile(-100);
fail("Should have raised a RapsManagerException");
} catch (RapsManagerException e) {
System.out.println(e.getMessage());
}
// Test get by name with invalid name …
Run Code Online (Sandbox Code Playgroud) 我已经使用MS Money几年了,由于我的"编码兴趣",知道从哪里开始学习编写这样一个应用程序的基础知识会很棒.更好的说法:它不是关于如何设计和编写应用程序,而是关于"银行细节".(仅显示某个银行账户的金额对我来说是一个愉快的目标.)
我想用C++或Java来做,因为我习惯了这些语言.
对于一个爱好项目,它会"太大"吗?我不太了解所有安全问题,银行服务器接口/技术等.
在"不"之后的第一个位置,我需要一个可靠的学习来源.
编辑:准备我的对象以便在HashMap中使用.
在阅读了一下如何生成哈希码之后,我现在很困惑.我的(可能是微不足道的)问题是,当我有一个可以使用的字段时,我应该如何实现hashCode方法?我可以直接使用fiels吗?如果我理解正确的话,hashCode的值在对象的生命周期内不能改变,我只有一个适合这个的ID,但是我已经在其他地方读过,那个人不应该使用ID ...这个怎么样,怎么样一个基于这个(唯一且没有变化)值的hashCode函数会是什么样的?equals方法也仅基于id ..