在调试late-out-of-bound-recursive-function之前:是否有一个获取子目录的命令?giveMeSubDirs(downToPath)?
// WARNING: RECURSION out of bound or too much data
public HashSet<FileObject> getAllDirs(String path) {
HashSet<FileObject> checkedDirs = new HashSet<FileObject>();
HashSet<FileObject> allDirs = new HashSet<FileObject>();
String startingPath = path;
File fileThing = new File(path);
FileObject fileObject = new FileObject(fileThing);
for (FileObject dir : getDirsInDir(path)) {
// SUBDIR
while ( !checkedDirs.contains(dir)
&& !(getDirsInDir(dir.getFile().getParent()).size() == 0)) {
// DO NOT CHECK TOP DIRS if any bottom dir UNCHECKED!
while ( uncheckedDirsOnLevel(path, checkedDirs).size() > 0) {
while (getDirsInDir(path).size() == 0 …Run Code Online (Sandbox Code Playgroud) 我正在写一些坐标变换(更具体地说是Joukoswky变换,维基百科Joukowsky变换),我对性能很感兴趣,但当然精确.我试图以两种方式进行坐标转换:
1)使用双精度计算单独的实部和复杂部分,如下所示:
double r2 = chi.x*chi.x + chi.y*chi.y;
//double sq = pow(r2,-0.5*n) + pow(r2,0.5*n); //slow!!!
double sq = sqrt(r2); //way faster!
double co = cos(atan2(chi.y,chi.x));
double si = sin(atan2(chi.y,chi.x));
Z.x = 0.5*(co*sq + co/sq);
Z.y = 0.5*si*sq;
Run Code Online (Sandbox Code Playgroud)
其中chi和Z是简单的结构,其中x和y为成员.
2)使用复杂:
Z = 0.5 * (chi + (1.0 / chi));
Run Code Online (Sandbox Code Playgroud)
Z和chi很复杂.有趣的是,确实情况1)更快(约20%),但精度差,在逆变换后的逗号后面的第三个十进制数中给出错误,而复数返回确切的数字.那么,问题在于cos(atan2),sin(atan2)?但如果是的话,复合体如何处理呢?
编辑:刚才发现这不是我想到的问题.我必须做一般转型,如
Z = 1/2*(chi ^ n +(1/chi)^ n),到目前为止,上面的代码是我想要的方式.更确切地说,
double sq = pow(sqrt(r2),n); //way faster!
double co = cos(n*atan2(chi.y,chi.x));
double si = sin(n*atan2(chi.y,chi.x));
Z.x = 0.5*(co*sq + co/sq);
Z.y = …Run Code Online (Sandbox Code Playgroud) 我想知道在datagridview中遍历所有行并从单元格中获取值的最佳方法是什么.
这是我在想的事情,但我不是很喜欢它,因为如果我重新排列列,那么代码也必须改变.
for (int i = 0; i < dataGridView.RowCount; i++)
{
string Value0 = dataGridView1.Rows[i].Cells[0];
string Value1 = dataGridView1.Rows[i].Cells[1];
string Value2 = dataGridView1.Rows[i].Cells[2];
}
Run Code Online (Sandbox Code Playgroud) 当用户点击按钮时,我会显示一个Popup.我想在发生以下任何事件时隐藏弹出窗口:
JPopupMenu有这种行为,但我需要的不仅仅是JMenuItems.以下代码块是用于演示当前用法的简化图示.
import java.awt.*;
import java.awt.event.ActionEvent;
import javax.swing.*;
public class PopupTester extends JFrame {
public static void main(String[] args) {
final PopupTester popupTester = new PopupTester();
popupTester.setLayout(new FlowLayout());
popupTester.setSize(300, 100);
popupTester.add(new JButton("Click Me") {
@Override
protected void fireActionPerformed(ActionEvent event) {
Point location = getLocationOnScreen();
int y = (int) (location.getY() + getHeight());
int x = (int) location.getX();
JLabel myComponent = new JLabel("Howdy");
Popup popup = PopupFactory.getSharedInstance().getPopup(popupTester, myComponent, x, y);
popup.show();
}
});
popupTester.add(new JButton("No Click Me"));
popupTester.setVisible(true);
popupTester.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
} …Run Code Online (Sandbox Code Playgroud) 我正在使用低级本机API,我发送一个不安全的字节缓冲区指针来获取一个c-string值.
所以它给了我
// using byte[255] c_str
string s = new string(Encoding.ASCII.GetChars(c_str));
// now s == "heresastring\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0(etc)";
Run Code Online (Sandbox Code Playgroud)
所以显然我做得不对,我怎么摆脱多余的?
我有一个.NET Web服务(使用asmx ...还没有升级到WCF)暴露了以下内容:
public class WidgetVersion1 : IWidget {}
public class WidgetVersion2 : IWidget {}
Run Code Online (Sandbox Code Playgroud)
当我尝试绑定到Web服务时,出现以下序列化错误:
无法序列化IWidget类型的成员WidgetVersion1,因为它是一个接口.
我曾尝试添加各种属性的iWidget的接口(XmlIgnore,SoapIgnore,NonSerialized),但它们不是一个接口上都有效.
有谁知道为什么我无法公开界面?我假设WSDL不支持接口,但是.NET不能通过简单地不对接口进行序列化来解决这个问题吗?除了从WidgetVersion1和WidgetVersion2类定义中删除IWidget接口之外,还有什么方法吗?
我有一个C++项目,其中1个类的1个方法经常更改.所以我想把代码从C++转移到Lua.注意,我是Lua的新手.
整个任务:
我已经找到了如何使用农历第一步,并且无法应对第二和第三.
我不能使用SWIG和boost.
我在jqGrid中有几列有edittype ="select".如何读取特定行中当前所选值的选项值?
例如:当我提供以下选项时,如何获得FedEx的"FE"等.
editoption: { value: “FE:FedEx; IN:InTime; TN:TNT” }
Run Code Online (Sandbox Code Playgroud)
rowId/cellname的getRowData()仅返回select的文本/显示组件.
如果我在列上设置"更改"数据事件,则基础触发仅在鼠标单击时更改事件,而不是键盘选择(有许多对泛型选择和鼠标/键盘问题的引用).
底线,当选择新值时,我需要知道更改时的选项值,以及发布到服务器之前的选项值.
我cfloop在一个查询中.我想获得一个属性,但是直到运行时我才知道该属性是什么.使用#qryResult[MyAttr]#失败并显示错误"复杂对象类型无法转换为简单值".这样做的语法是什么?
这是一个简化的例子:
<cfquery datasource="TestSource" name="qryResult">
SELECT * FROM MyTable
</cfquery>
<cfloop query="qryResult">
<cfset MyAttr="autoid" />
<cfoutput>
Test 1: #qryResult.autoid# <br/> <!--- succeeds --->
Test 2: #qryResult[MyAttr]# <br/> <!--- fails --->
</cfoutput>
</cfloop>
Run Code Online (Sandbox Code Playgroud) 我正在玩matplotlib - 我有一个条形图,我想突出显示用户点击的栏.我有一个回调,通过一个rect集合(我从self.axis.bar(...)获得)并找出哪一个被点击(查看坐标).此时我想调用一些东西来改变当前条形的颜色.可能吗?我怎么做?
编辑:我想我真正想要的答案是,是否可以让酒吧有不同的颜色.
c# ×3
c++ ×2
java ×2
.net ×1
asmx ×1
atan2 ×1
cfloop ×1
coldfusion ×1
cstring ×1
datagridview ×1
filesystems ×1
jqgrid ×1
lua ×1
matplotlib ×1
numbers ×1
performance ×1
popup ×1
recursion ×1
select ×1
string ×1
subdirectory ×1
swing ×1
web-services ×1
winforms ×1