小编DPM*_*DPM的帖子

Java中的变量声明放置指南

Java变量似乎有两个可接受的变量声明放置,每个变量都有不同的存在理由.

根据Sun的代码约定,我们可以看到:

仅在块的开头放置声明.(块是由大括号"{"和"}"包围的任何代码.)不要等到第一次使用变量时才声明变量; 它可能会混淆粗心的程序员并妨碍范围内的代码可移植性.

然而,在备受好评的"代码完整"和其他一些作者提倡将变量范围缩小到最小.这基本上是等到第一次使用之前声明变量.

这两种方法显然是矛盾的,尽管我可以看到它们的两点.

我应该遵循哪个?对此事有何共识?

java coding-style

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

动态编程:算法解决以下问题?

我最近完成了以下面试练习:

'机器人可以编程为运行"a","b","c"......"n"公里,它分别需要t a,t b,t c ... t n min.一旦运行到程序设计的公里数,它必须关闭"m"分钟.

在"m"分钟之后,它可以再次被编程为运行另一个"a","b","c"......"n"公里.

你会如何编程这个机器人在最短的时间内达到精确的公里数?

我认为这是无界背包问题的一种变体,其中尺寸将是公里数和值,即完成每次拉伸所需的时间.主要区别在于我们需要最小化而不是最大化价值.所以我使用了以下解决方案:http://en.wikipedia.org/wiki/Knapsack_problem#Unbounded_knapsack_problem ,其中我选择了最小值.

最后,因为我们需要一个精确的解决方案(如果有的话),在算法为所有不同距离构建的地图上,我遍历每个机器人的编程距离并找到其中的精确距离和最短时间.

我认为机器人在两次运行之间的暂停是一个红色的鲱鱼,你只需要将它包含在你的计算中,但它不会影响所采用的方法.

我可能错了,因为我没有通过测试.我对预期的解决方案没有任何其他反馈.

编辑:也许我毕竟没错,因为不同的原因我失败了.我只想验证我对这个问题的处理方法.

import static com.google.common.collect.Sets.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.log4j.Logger;
import com.google.common.base.Objects;
import com.google.common.base.Preconditions;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;

public final class Robot {

    static final Logger logger = Logger.getLogger (Robot.class);

    private Set<ProgrammedRun> programmedRuns;
    private int pause;
    private int totalDistance;

    private Robot () {
        //don't expose default constructor & prevent subclassing 
    }


    private Robot …
Run Code Online (Sandbox Code Playgroud)

language-agnostic algorithm dynamic-programming

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

对于 gmail 和 WhatsApp,Android onNotificationPosted 被调用两次

我知道这看起来像是Android NotificationListenerService onNotificationPosted 两次触发的副本,并且NotificationListenerService onNotificationPosted() 当它是分组通知的一部分时为单个 Notification 多次调用,但我已经尝试了他们的解决方案,但它们似乎不起作用。

我想要做的就是拥有一个后台服务,该服务计算一个人通过电话收到的通知数量,然后将其写入文本文件。

它适用于短信和环聊通知(即每个通知只触发一次)但是当我使用 WhatsApp 和 Gmail 测试它时,它被触发两次,因此,对于每个 Gmail 通知,我的文本文件中有两行。

这是我的代码。任何帮助将不胜感激。

public class NotifCounterService extends NotificationListenerService {

   public static String TAG = NotifCounterService.class.getSimpleName();

   Date dateStart;

   private Logger logger;

   private Context mContext;

   @Override
   public void onCreate() {
      Log.d(TAG, "Created");

      logger = new Logger(TAG);
      mContext = getApplicationContext();
   }

   @Override
   public IBinder onBind(Intent intent) {
      return super.onBind(intent);
   }

   @Override
   public void onNotificationPosted(StatusBarNotification sbn) {

      Log.d(TAG, "Notification has arrived");

      Log.d(TAG, "ID: " + sbn.getId() …
Run Code Online (Sandbox Code Playgroud)

java notifications android notification-listener

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

选择特定行MySQL

如何在MySQL表中选择特定行?因此,不是selectING ... ORDER BY date我可以这样做SELECT * FROM Posts FROM(5) TO(10) ORDER BY date DESC,我会在降序选择帖子5到10?

mysql

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

使用ftp上传的maven部署:我只想上传war文件,但是上传的文件更多

我完全遵循这里指定的指示:

http://maven.apache.org/plugins/maven-deploy-plugin/examples/deploy-ftp.html

(唯一的区别是我使用的是版本2.4的wagon-ftp).

然后执行

mvn部署

我只想上传一个war文件,但它上传了几个其他文件,使用pom,md5,sha1扩展名并将它们隐藏在我的一个源目录下.

我一直在尝试寻找适当的配置来修改这种行为,但没有运气.

ftp pom.xml maven maven-wagon-plugin

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

如何在excel的三列中列出值的所有可能组合?

我有三列,每列都有不同种类的主数据,如下所示:

在此处输入图片说明

现在,我想拥有这三个单元格的所有可能组合-

aa kk jj
aa kk ff
aa ll jj
aa ll ff
aa mm jj
...
Run Code Online (Sandbox Code Playgroud)

可以用公式来完成。我发现一个包含2列的公式,但是我无法正确地将其扩展到3列

两列公式:

=IF(ROW()-ROW($G$1)+1>COUNTA($A$2:$A$15)*COUNTA($B$2:$B$4),"",
INDEX($A$2:$A$15,INT((ROW()-ROW($G$1))/COUNTA($B$2:$B$4)+1))&
INDEX($B$2:$B$4,MOD(ROW()-ROW($G$1),COUNTA($B$2:$B$4))+1))
Run Code Online (Sandbox Code Playgroud)

其中G1是放置结果值的单元格

excel excel-formula

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

使用MMMM和MMMMM使用SimpleDateFormat提取月份名称之间的区别是什么

我想答案是否定的.如果我使用4个或更多"M",结果是相同的.

public static void main (String[] args) 
{
    for (int monthNum = 1; monthNum <= 12; monthNum++) 
    {
        String month = new SimpleDateFormat("MMMM", Locale.US)
                          .format (new Date (1, monthNum, 2000));

        String month2 = new SimpleDateFormat("MMMMM", Locale.US)
                          .format (new Date (1, monthNum, 2000));

        if (month.equals(month2)) 
              continue;

        throw new RuntimeException ("");
    }
}
Run Code Online (Sandbox Code Playgroud)

结束成功.

但是我不理解为什么实施例SimpleDateFormat使用专门的5"M",而不是4或任何其它数量> = 4.在模式字符串中给出一些"M"的结果的唯一解释是:

月份:如果模式字母的数量为3或更多,则将月份解释为文本; 否则,它被解释为一个数字.

那会有什么不同吗?为什么不能更好地记录?

java format date

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

为什么SortedSet 中没有“descendingIterator()”,而TreeSet 中却有?

它尚未添加到界面的事实让我认为一定有一些正当的理由。虽然我认为你不应该快乐地传递集合,因此,如果需要反向迭代,实现类很少出现在类的接口中,但 IMO 它将改进 SortedSet 接口。

java collections iterator

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

为什么在scala中整数和浮点之间的比较如71 == 71.0是真的?

我在scala解释器中得到了这个:

scala> val a:Float = 71F; val b:Int = 71; if (a==b) println ("?")
?
a: Float = 71.0
b: Int = 71
Run Code Online (Sandbox Code Playgroud)

我想知道这种比较的确切语义是什么.即使我对Scala有一个肤浅的知识,我猜浮点数运算(在这种情况下,我确保不使用与java的BigDecimal相当的东西,或者至少我认为)适用于这个例子.所以"a"不是持有数字71,因为"b"是,但接近它.

我认为任何整数到浮点比较产生错误会简化事情,但我相信我必须遗漏一些东西.

另外,我想知道这是否会导致代码中的任何错误.

scala equality

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

Maven 无法解析 Kotlin Maven 插件 jar

不知道如何解决这个问题。

我想要这个版本的 Kotlin 运行时和maven 插件

这些是我的 pom.xml 中的位:

    <dependency>
        <groupId>org.jetbrains.kotlin</groupId>
        <artifactId>kotlin-runtime</artifactId>
        <version>1.2-M2</version>
    </dependency>

<build>
    <plugins>
        <plugin>
            <groupId>org.jetbrains.kotlin</groupId>
            <artifactId>kotlin-maven-plugin</artifactId>
            <version>1.2-M2</version>
            <executions>
Run Code Online (Sandbox Code Playgroud)

我将其添加为回购:

    <repository>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <id>kotlin-bintray</id>
        <name>Kotlin Bintray</name>
        <url>http://dl.bintray.com/kotlin/kotlin-dev/</url>
    </repository>
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

https://repo.maven.apache.org/maven2中找不到 org.jetbrains.kotlin:kotlin-maven-plugin:jar:1.2-M2 的失败 被缓存在本地存储库中,直到更新间隔才会重新尝试解析中央已过期或强制更新

但我没有看到任何可能是错误的。

顺便说一句,请注意运行时 jar 已找到,因此存储库部分必须正确,因为此存储库是 maven 找到它的地方。尽管出于某种原因,Maven 插件 jar 是另一回事...

java maven

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