问题列表 - 第24445页

Java:如何递归获取所有子目录?

在调试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)

java filesystems recursion subdirectory

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

cos(atan2(y,x))与使用复数<double>,C++的精度

我正在写一些坐标变换(更具体地说是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)

c++ performance numbers complex-numbers atan2

0
推荐指数
1
解决办法
2344
查看次数

对于DataGridView,如何从每行获取值?

我想知道在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)

c# datagridview winforms

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

当你点击其他地方时,如何隐藏Swing Popup

当用户点击按钮时,我会显示一个Popup.我想在发生以下任何事件时隐藏弹出窗口:

  1. 用户单击应用程序中的其他位置.(例如背景面板)
  2. 用户最小化应用程序.

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)

java swing popup

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

在C#中帮助\ 0终止字符串

我正在使用低级本机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)

所以显然我做得不对,我怎么摆脱多余的?

c# string cstring

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

为什么我不能在.NET asmx Web服务中公开接口?

我有一个.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接口之外,还有什么方法吗?

.net c# serialization web-services asmx

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

将C++对象传递给Lua函数

我有一个C++项目,其中1个类的1个方法经常更改.所以我想把代码从C++转移到Lua.注意,我是Lua的新手.

整个任务:

  1. 将一些类方法绑定到Lua状态机;
  2. 将对象的引用传递给函数,用Lua编写;
  3. 在Lua函数中使用传递的C++对象进行操作.

我已经找到了如何使用农历第一步,并且无法应对第二和第三.

我不能使用SWIG和boost.

c++ lua

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

如何在列上使用<select> editoptions时在jqGrid中获取select的值

我在jqGrid中有几列有edittype ="select".如何读取特定行中当前所选值的选项值?

例如:当我提供以下选项时,如何获得FedEx的"FE"等.

editoption: { value: “FE:FedEx; IN:InTime; TN:TNT” } 
Run Code Online (Sandbox Code Playgroud)

rowId/cellname的getRowData()仅返回select的文本/显示组件.

如果我在列上设置"更改"数据事件,则基础触发仅在鼠标单击时更改事件,而不是键盘选择(有许多对泛型选择和鼠标/键盘问题的引用).

底线,当选择新值时,我需要知道更改时的选项值,以及发布到服务器之前的选项值.

select jqgrid

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

如何在ColdFusion中的cfloop over query中获取动态属性名称

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)

coldfusion cfloop

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

matplotlib - 动态改变矩形颜色

我正在玩matplotlib - 我有一个条形图,我想突出显示用户点击的栏.我有一个回调,通过一个rect集合(我从self.axis.bar(...)获得)并找出哪一个被点击(查看坐标).此时我想调用一些东西来改变当前条形的颜色.可能吗?我怎么做?

编辑:我想我真正想要的答案是,是否可以让酒吧有不同的颜色.

matplotlib

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