我只是用Python测试工程中的数值方法的一个例子.
from numpy import zeros, array
from math import sin, log
from newtonRaphson2 import *
def f(x):
f = zeros(len(x))
f[0] = sin(x[0]) + x[1]**2 + log(x[2]) - 7.0
f[1] = 3.0*x[0] + 2.0**x[1] - x[2]**3 + 1.0
f[2] = x[0] + x[1] + x[2] -5.0
return f
x = array([1.0, 1.0, 1.0])
print newtonRaphson2(f,x)
Run Code Online (Sandbox Code Playgroud)
当我运行它时,它显示以下错误:
File "example NR2method.py", line 8, in f
f[0] = sin(x[0]) + x[1]**2 + log(x[2]) - 7.0
ValueError: math domain error …
Run Code Online (Sandbox Code Playgroud) 在泛型类中,Class<T>
该方法getConstructors()
具有返回类型,而不是泛型类型参数T
.其原因在于javadoc中的解释.
请注意,虽然此方法返回一个
Constructor<T>
对象数组(即此类中的构造函数数组),但此方法的返回类型Constructor<?>[]
并非Constructor<T>[]
如预期的那样.这个信息量较少的返回类型是必需的,因为从此方法返回后,可以修改数组以保存不同类的Constructor对象,这将违反类型保证Constructor<T>[]
.
我的一位同事和我试图理解这个解释.在我们的理解中,他们基本上说它是未知的泛型类型,因为一些调用者可以将其他Constructor
对象放入该数组中.我们做对了吗?如果是这样,为什么有人会这样设计API.使用特定类型并信任程序员正确使用数组不是更好吗?对我们来说,这听起来有点像"我们正在制作更糟糕的API,因为程序员使用它可能会尝试一些愚蠢的东西".我们的谬误在哪里?
我必须在项目中多次声明和初始化BigDecimal包装器对象.然后哪个更好的方法由Java代码:
BigDecimal num=new BigDecimal("123");
Run Code Online (Sandbox Code Playgroud)
或者在NumberUtils
课堂上已经有一个静态方法可用
public static BigInteger createBigInteger(String str) {
if (str == null) {
return null;
}
return new BigInteger(str);
}
BigDecimal num=NumberUtils.createBigInteger("123");
Run Code Online (Sandbox Code Playgroud)
请告诉我,这是更好的方法,因为我们比较了性能(内存和速度).
我正在尝试计算字符串中的字符,并找到一个使用tr
运算符计算单个字符的简单解决方案.现在我想用从a到z的每个角色来做这个.以下解决方案不起作用,因为tr///
匹配每个字符.
my @chars = ('a' .. 'z');
foreach my $c (@chars)
{
$count{$c} = ($text =~ tr/$c//);
}
Run Code Online (Sandbox Code Playgroud)
我如何正确使用char变量tr///
?
在Eclipse首选项中,每个语法突出显示首选项页面都有一个颜色选择器控件.它由一个彩色按钮组成
打开一个对话框
我想在我的RCP应用程序中使用这些组件,但我找不到它们是什么或者它们是否可用.
我猜这个按钮可能是一个普通的按钮.这很容易建立自己.但我想避免自己构建整个对话框.
谁能告诉我在哪里可以找到这个组件?
PS:我已经看到了这个问题,但它没有提供"本机"Eclipse解决方案.
我在使用a的SQL语句中表达了一些奇怪的行为CASE
.它可以通过以下示例重现:
SELECT
CASE
WHEN 1=1
THEN 'foo'
WHEN 1=2
THEN (DATEADD(s, 1435586700, '01/01/1970 00:00:00'))
WHEN 1=3
THEN (DATEADD(s, 1435586700, '01/01/1970 00:00:00'))
ELSE
'bar'
END AS result
Run Code Online (Sandbox Code Playgroud)
如果在SQL Server 2008上执行此操作,则不返回任何结果.只要您为第二个或第三个案例更改它成功,它就会返回一个值.如果您完全删除这些案例,它可以正常工作.
起初我认为DATEADD
在任何情况下执行都是一个问题,并且由于传递的参数值而失败.但在我的例子中,它们是不变的,无论如何都应该有效.
这里发生了什么?
我刚刚安装了eclipse 3.7.2并试图获得Maven插件.我使用了Help-> Install New Software并使用这个网站来处理:http: //download.eclipse.org/m2e-wtp/releases/juno/ 我等了4个项目出现,包括:
2)Eclipse的Maven Intgration
3)WTP的Maven Itegration
然后点击那些2(中间项目).令我懊恼的是,结果如下:
The operation cannot be completed. See the details.
Details:
Cannot complete the install because one or more required items could not be found.
Software being installed: m2e - slf4j over logback logging (Optional) 1.4.0.20130601-0317 (org.eclipse.m2e.logback.feature.feature.group 1.4.0.20130601-0317)
Run Code Online (Sandbox Code Playgroud)
我看到有人在他们使用eclipse 3.6.2时看到了这个,并且他们在升级到3.7之后不再看到错误.
但是,我更喜欢使用3.7.2,因为它适用于我需要的其他插件.任何帮助将不胜感激.
我使用描述多模块项目的原型在 Eclipse 中创建了一个新的 Maven 项目。它部分地作为例外工作并且我已经习惯了。在 Project Explorer 中,模块显示为顶层的项目,而不是父项目的子文件夹。在我的硬盘上,文件夹结构显示了父根项目文件夹下的模块。我现在习惯于在 Navigator 中看到相同的结构,但它显示的文件夹结构与 Project Explorer 相同。
为了让这更烦人,我使用Maven
=>手动创建了另一个模块New Maven Module Project
。该模块按预期运行。它在导航器中显示为父文件夹的子文件夹,我可以提交它。
将其可视化:
硬盘上的结构(在导航器中预期):
- parentProject
| - module1
| - module2
| - manuallyCreatedModule
Run Code Online (Sandbox Code Playgroud)
导航器和项目浏览器中的结构:
-parentProject
| - manuallyCreatedModule
- module1
- module2
- manuallyCreatedModule
Run Code Online (Sandbox Code Playgroud)
我已经将手动创建的模块和其他模块的 poms 和项目首选项与最后一个细节进行了比较,似乎无法找到这种不同行为的原因。poms 的相关部分似乎是相同的:
父pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>myId</groupId>
<artifactId>parentProject</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<modules>
<module>module1</module>
<module>mdoule2</module>
<module>manuallyCreatedModule</module>
</modules>
</project>
Run Code Online (Sandbox Code Playgroud)
原型模块 pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> …
Run Code Online (Sandbox Code Playgroud) 当事件发生时,我想从"for循环"中退出.例如,我的代码中有一部分:
for (ScanResult scanResult : listeScan) {
if(sampleposition[position]==0){
change=true;
while(i < position && change==true){
if(macAdress[i].equals(scanResult.BSSID)){
change = false;
}
i++;
}
i=0;
if(change == true && scanResult.level >= -80){
valueSSID[position] = scanResult.level;
macAdress[position] = scanResult.BSSID;
sSID[position] = scanResult.SSID;
if(valueSSID[position]!=0){sampleposition[position]++;}
//exit here
}
}
else{
if(macAdress[position].equals(scanResult.BSSID) && sampleposition[position]<=totalsample){addlevel=scanResult.level;} else {addlevel=0;}
valueSSID[position] = valueSSID[position] + addlevel;
if(addlevel!=0){sampleposition[position]++;}
//exit here
}
}
}
Run Code Online (Sandbox Code Playgroud)
实际上,我想停止循环,其中有评论"退出这里".
拜托,你能告诉我怎么办?对不起我的英语不好...
我有一个如下所示的实用程序类:
public final class MyUtils {
public static final List<String> MY_VALUES = new ArrayList<String>();
{
MY_VALUES.add("foo");
MY_VALUES.add("bar");
}
}
Run Code Online (Sandbox Code Playgroud)
我从另一个类中调用它,就像这样:
MyUtils.MY_VALUES
Run Code Online (Sandbox Code Playgroud)
如果我这样做,列表是空的,如果我调试,我看到静态块永远不会运行.
据我所知,静态类初始化何时发生?以及如何强制一个类初始化?a static field of the class is assigned
我应该立即运行该块.我也尝试使变量非final来满足条件" a non-constant static field is used
".
我可以使用一个init方法,因为在另外两个问题中也是如此.为什么我的静态代码块不执行?但我仍然想明白为什么它不起作用,尽管我似乎已经完成了语言规范的条件.