小编Lan*_*rts的帖子

为什么我只需要循环23次来绘制24个矩形?

我刚刚遇到for循环的奇怪行为,无法找到解释.

我有一个2D游戏,这个逻辑元素是一个领域.

//Declaration of the JPanel logical size. 
private int[][] grid = new int[24][12]; 
Run Code Online (Sandbox Code Playgroud)

行数是24,对吧?

我用这个绘制这个网格:

   for (int r = 0; r < grid.length; r++ ) 
        for (int c = 0; c < grid[r].length; c++) 
Run Code Online (Sandbox Code Playgroud)

然后我决定不画最后一行并做到这一点:

r < grid.length - 1; 
Run Code Online (Sandbox Code Playgroud)

没啥事儿.我想也许我需要括号.我添加了它们仍然无法正常工作.然后我把它改成了

r < grid.length - 2;
Run Code Online (Sandbox Code Playgroud)

在这种情况下,最后一排没有按照我原来的要求绘制.

但现在我很困惑,因为数学上:grid.length - 2 = 22; r <22表示r(max)== 21,这意味着我应该有两行未绘制.我错过了什么?

测试用例:

class Action extends JPanel {
   public static final int FRAME_SIZE_X = 370;
   public static final int FRAME_SIZE_Y = 720;
   private int[][] grid = …
Run Code Online (Sandbox Code Playgroud)

java multidimensional-array

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

如何抓住你正在盘旋的元素?

你如何使用 Javascript,没有jQuery 抓住你当前悬停的元素?

HTML

<ul>
    <li></li>
    <li></li>
    <li></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

JavaScript的

(function() {

    var item = document.querySelector('li');

    function randomColor() {
        return '#' + Math.random().toString(16).slice(2, 8);
    }

    item.onmouseover = function() {
        this.style.backgroundColor = randomColor();
    };

    item.onmouseleave = function() {
        this.style.backgroundColor = randomColor();
    };

}());
Run Code Online (Sandbox Code Playgroud)

问题是它只会在其中一个元素上改变颜色,而在悬停时只改变另外两个元素的颜色.

解决方案感谢RUJordan

(function() {

    var box = document.querySelectorAll('li');

    function randomColor() {
        return '#' + Math.random().toString(16).slice(2, 8);
    }

    for (var i = 0; i <= box.length; i++) {

        box[i].onmouseover = function() {
            this.style.backgroundColor = randomColor();
        };  

        box[i].onmouseleave = …
Run Code Online (Sandbox Code Playgroud)

html javascript

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

如何在Visual Studio IDE中更改窗体控件的默认字体

我想将表单组件的默认字体设置Microsoft Sans SerifMS Outlook

每次我在表单上放置一个新控件时我都可以更改字体但是耗时.我在Visual Studio 2012中没有找到任何帮助或选项.

如何更改任何添加控件的默认字体

fonts visual-studio winforms

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

从StringBuilder中删除最后一行而不知道字符数

我想知道是否存在一个简单的方法从StringBuilder对象中删除最后一行而不知道最后一行中的字符数.

例:

你好,你好吗?
很好,谢谢!
好的,完美......

我想删除"Ok,Perfect ......"

java stringbuilder

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

如何确定GDI +中两条线的交点?

我正在使用.NET来创建一个具有绘图表面的应用程序,类似于Visio.UI使用Graphics.DrawLine连接屏幕上的两个对象.这个简单的实现工作正常,但随着表面变得更复杂,我需要一种更健壮的方式来表示对象.这些强大要求之一是确定两条线的交叉点,因此我可以通过某种图形来指示分离.

所以我的问题是,有人可以提出一种方法吗?也许使用不同的技术(可能是GraphViz)或算法?

.net c# graphics geometry gdi+

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

如何在SQL Server 2005中插入值数组?

如何编写SQL代码来INSERT(或UPDATE)一个值数组(可能是一个伴随的字段名数组,或者带有两者的矩阵),而不需要简单的迭代?

sql sql-server bulkinsert sql-server-2005

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

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

跨不同 SQL 读取器共享 SQL 临时表

我正在尝试对创建时间非常长的结果集执行许多不同的查询。为了获得性能提升,我希望使用一个临时表并且只在这个临时表上做很多查询。

看起来很标准。然而,我正在努力在动态 SQL 中共享这个临时表。据我了解,每个 SqlCommand 对象都在自己的线程中执行,因此临时表在不同的范围内 - 从而使其无法从查询线程访问。

我尝试使用全局临时表,效果很好,但不理想?

如何在动态 SQL 查询之间共享本地临时表?

我的意图:

using (var conn = new SqlClient.SqlConnection("..."))
{
    // Creation involes many table joins in reality
    String creationScript = "SELECT * FROM FooTable INTO #MyTemp";
    SqlCommand createTempTbl = new SqlCommand(creationScript, conn);
    createTempTbl.ExecuteNonQuery();

    String query1 = "SELECT * FROM #MyTemp where id=@id";
    SqlCommand query1Comm = new SqlCommand(query1, conn);
    query1Comm.Parameters.Add("@id", ...);

    String query2 = "SELECT * FROM #MyTemp where name=@name";
    SqlCommand query2Comm = new SqlCommand(query2, conn);
    query2Comm.Parameters.Add("@name", ...); …
Run Code Online (Sandbox Code Playgroud)

.net sql ado.net sql-server-2005 dynamic-sql

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

ms-access vba Eval函数行为

我在Access表单中有一个公共函数

Public Function PopupProcess() as long
  MsgBox Me.ActiveControl
  PopupProcess = 1
End Function
Run Code Online (Sandbox Code Playgroud)

我打电话的时候

eval("forms('MyForm').popupprocess")
Run Code Online (Sandbox Code Playgroud)

它显示一个消息框2次.有谁知道它为什么这样做?

我有SP3的Access 2003.

编辑:主要的想法是从该表单调用自定义命令栏控件OnAction的函数.也许你有更好的方法从命令栏控件的表单调用函数.

ms-access vba

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

如何编辑我的Excel下拉列表?

如何编辑我的Excel下拉列表?

我转到数据 - >验证 - >设置,然后我发现值为= Attribute_Brands.

编辑此内容我需要做什么?

excel excel-2003

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