相关疑难解决方法(0)

浮球是怎么变成双人的?

编辑:一如既往,在5分钟内得到很好的答案:)如果我做了一个微小的改变 - 让F资本"浮动",我会得到我预期的输出.

class NumberMachine{
      public static void main(String [] args) {
        Integer wi1 = new Integer("420");
        int i = 101;
        Integer wi2 = i*420/101;
        if(wi1 == wi2) System.out.print(" =="); 
        if(wi1.equals(wi2)) System.out.print(" equal"); 
         float f = 1.23f; //if this were Float f..., it'd print Float, not double.
         new NumberMachine().printIt(f);
      }

      void printIt(Float f){
         System.out.println(" Float");
      }
      void printIt(double  d){
         System.out.println(" double");
      }
  }
Run Code Online (Sandbox Code Playgroud)

输出是 equal double,这对我没有意义.我期待 equal Float.如果我注释掉第二个printIt,那确实是输出.我只是不知道为什么,当面对两个printIt之间的选择时,编译器忽略了其参数完全匹配的那个.

java numbers

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

JavaScript格式:必须括号与if/function/etc关键字在同一行吗?

可能重复:
为什么在javascript代码中放置大括号时结果会有所不同

我们有公司政策规定在PHP开放花括号应该在他们自己的行上以便于阅读,以便他们可以与结束括号对齐; 从而:

if (true)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

但在JS中,它们应保持在同一行,以防浏览器错误地解释它时出现问题.

if (true) {
    ...
Run Code Online (Sandbox Code Playgroud)

上述斜体部分是否合法?

PS - 我怀疑这个问题已经在这里被问过了,但是我没有找到与我的问题完全匹配的问题.道歉,如果它在那里,我没有找到它.

javascript formatting code-formatting curly-braces

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

JavaScript 源代码中的换行符或空格/制表符有何不同?(甚至在评论中!?)

我总是假设 JavaScript 源代码中的所有空白(空格、制表符、换行符)都是“相等的”,即它们对于分隔语言元素(例如标识符、关键字、运算符等)都是有效的。

然而,我注意到换行符与空格或制表符之间有一个奇怪的区别。甚至在评论里面!

这工作正常:(函数定义和函数调用之间的换行符,但没有分号)

var bla = function() { alert('hello') }
bla();
Run Code Online (Sandbox Code Playgroud)

这也有效:(结束 } 字符和 bla() 函数调用之间的分号)

var bla = function() { alert('hello') };bla();
Run Code Online (Sandbox Code Playgroud)

然而,这不起作用:(无论只有一个空格或制表符,还是多个,或没有,都没有区别)

var bla = function() { alert('hello') } bla();
Run Code Online (Sandbox Code Playgroud)

事情变得更奇怪了。

这也不起作用:(由包含空格、制表符和分号的注释分隔)

var bla = function() { alert('hello') } /*  ; */ bla();
Run Code Online (Sandbox Code Playgroud)

但这确实:(包含换行符的注释)

var bla = function() { alert('hello') }/*
*/bla();
Run Code Online (Sandbox Code Playgroud)

现场 jsfiddle 演示:

这是 JavaScript 中的错误,还是我遗漏了什么?

javascript whitespace comments

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

#define应该在宏周围添加空格吗?

我正在查看http://www0.us.ioccc.org/1988/westley.c上的程序,在另一个SO答案中提到- 它应该打印pi的值,大约3.142,但是当我编译它并运行时我得到它0.250.看起来当GCC预处理器(经过测试的4.1.2和3.4.6)在代码上运行时,它会转换

#define _ -F<00||--F-OO--;
_-_-_
Run Code Online (Sandbox Code Playgroud)

-F<00||--F-OO--;- -F<00||--F-OO--;- -F<00||--F-OO--;
Run Code Online (Sandbox Code Playgroud)

但我认为,要使该计划有效,它应该是

-F<00||--F-OO--;--F<00||--F-OO--;--F<00||--F-OO--;
Run Code Online (Sandbox Code Playgroud)

即GCC在"宏观"扩张之前插入一个额外的空间.这#define是应该的方式吗?(自1988年以来有变化吗?)

编辑:此外,任何有关如何防止这些空间出现的信息将不胜感激.

c macros whitespace gcc c-preprocessor

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

为什么括号不会在JavaScript中更改==和===的运算符优先级?

我有点困惑!为什么paranthesis不会影响这些陈述中的优先级?

true === '0' == 0 // returns true
(true === '0') == 0 // returns true again!
Run Code Online (Sandbox Code Playgroud)

javascript

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

是个 !!操作员甚至在Javascript中需要?

当你想要将对象值转换为布尔值并将其保存在变量中时,我可以理解这种情况.但是,我在jQuery模板中遇到了以下代码,并想知道是否!! (双感叹号运算符)甚至是必要的.

{{if !!sectionId}}
    // do something...
{{/if}}
Run Code Online (Sandbox Code Playgroud)

我假设它不是因为Javascript会自动评估if作为布尔值后面的表达式.因此,你可以写:

{{if sectionId}}
    // do something...
{{/if}}
Run Code Online (Sandbox Code Playgroud)

我的假设是对的吗?

javascript jquery jquery-templates

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

java中的奇怪行为

这是朋友问的.奇怪的是,这个java代码编译并正常运行.

int getArray() [] { ... }
Run Code Online (Sandbox Code Playgroud)

我在这里错过了一些东西.不应该

int[] getArray() { ... }
Run Code Online (Sandbox Code Playgroud)

编辑:getArray()是一个返回整数数组的函数.

java return-type

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

Javascript中的双变量

可能重复:
Javascript变量变量

PHP中有一个非常方便的东西(我肯定是有罪的),但我正在寻找JavaScript的替代方案.

在PHP中我可以这样做:

$bar = 'var';
$$bar= 'test';

echo $var;
Run Code Online (Sandbox Code Playgroud)

我正在寻找类似于JavaScript的东西.我想将名称传递给函数并使用该名称初始化一个新变量.所以:

function(name) {
    var name = new Function();
}
Run Code Online (Sandbox Code Playgroud)

更新: 好的,这是我正在尝试做的事情.我知道有一种更简单的方法..

我想使用多个实例(让我们说现在是plupload).

var uploader = new plupload();
Run Code Online (Sandbox Code Playgroud)

我动态加载它们,页面上会有倍数.我遇到的问题是它们都必须有一个唯一的名称,因为我必须能够调用uploader.init(),uploader.refresh()等,并且每个函数都可以独立运行.

正如我所说,我确信有更好的方法......我只是不知道它.

javascript

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

不应该在下面的代码中缩进

python教程中是一个例子(复制如下),不else应该缩进?我运行代码,它没有工作,但我缩进它(else),它工作.是的,我说的是对的吗?如果文档是错误的,那么如何将它作为bug报告给python doc人员?

>>> for n in range(2, 10):
...     for x in range(2, n):
...         if n % x == 0:
...             print n, 'equals', x, '*', n/x
...             break
...     else:
...         # loop fell through without finding a factor
...         print n, 'is a prime number'
...
Run Code Online (Sandbox Code Playgroud)

python

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

在评估零长度整数时,TSQL LEN函数返回1

我正在使用SQL Server 2008.

我发现LEN函数在整数没有值时计算整数时不返回零 - 它返回1.

例如:

declare @int1 int
set @int1 = ''
select LEN(@int1)
Run Code Online (Sandbox Code Playgroud)

返回1而不是零!但整数是零长度!

为什么是这样?这是一个错误吗?

sql t-sql sql-server

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