注意:我计划使用Java实现这一点,但欢迎并赞赏逻辑中所需步骤的任何简单英语解释.
我试图想出一种方法将一组24个音乐专辑/记录分成6个播放列表,这样所有6个播放列表的长度/运行时间尽可能彼此接近.
我最初认为也许我可以找到问题的所有可能的排列,然后找出一个逻辑来分析哪个是最好的除法.我昨天创建了一个线程来寻求帮助(我有24个项目需要分成6组4.我可以使用什么算法来查找所有可能的组合?).然而,当我接近寻找解决方案时,我意识到只是找到问题的所有排列将花费极长的时间来运行,因此这种方法似乎不切实际.
所以我想知道,有没有更快的方法来解决这个问题?
鉴于这些是相关专辑的运行时间(以MM:SS格式),我找到将专辑分成4个播放列表的4种方式,使得每个播放列表的长度尽可能接近彼此尽可能?
39:03 
41:08 
41:39 
42:54 
44:31 
44:34 
44:40 
45:55 
45:59 
47:06 
47:20 
47:53 
49:35 
49:57 
50:15 
51:35 
51:50 
55:45
58:10 
58:11 
59:48 
59:58   
60:00 
61:08 
Run Code Online (Sandbox Code Playgroud)
我做了数学考虑并考虑了所有专辑的总时间,有6个播放列表在200分49秒运行将是完美的...但由于个别专辑长度可能不允许精确的分区,什么将是最准确的分工是我的问题.
注意:我实际上可以手动执行此操作并获得足够接近的足够近似值,但我仍然对如何通过程序完成它感兴趣.
谢谢!
示例代码:
        aStmt = aConn.prepareStatement(aQuery);
        aRset = aStmt.executeQuery(cQuery);
        while (cRset.next()) {
            //stuff to determine value of parm1
            aStmt.setString(1, parm1);                
            aRset = aStmt.executeQuery(); 
            //more stuff
        }
Run Code Online (Sandbox Code Playgroud)
在while语句中的每个循环之后,我是否必须关闭aStmt和aRset?或者将在后续循环中重用它们释放从先前循环中使用的内存/资源?
我目前正在处理一个<ul>包含许多第一级<li>元素的元素.我想得到那些元素,只有那些元素.但是,当我使用Jsoup选择器或getElementsByTag获取它们时,它还会返回<li>这些第一级<li>元素中的元素.
我该怎么做才能获得第一级<li>元素?
这是代码:
Elements bundleList =  indieGala.select("section.games_bundle_box2")
                        .get(0).select("ul.unlock")
                        .get(0).getElementsByTag("li");
Run Code Online (Sandbox Code Playgroud)
这是html:
<section class="games_bundle_box2">
  <div class="games-container">
    <!-- List Game Unlocked -->
    <ul class="unlock">
      <!-- Item -->
      <li>
        <!-- Preview Thumb -->
        <a href="#game1" class="fancybox-various" title="Desura & Steam for Windows and Mac - This game has been GreenLighted on Steam and all buyers of The IndieGala Flashpoint bundle will receive Steam keys in a few weeks!">
          <span class="tier1">
            Pay minimum 
            <em class="color-text">
              $1 …Run Code Online (Sandbox Code Playgroud) 如果我想要处理此网址,例如:
post = new HttpPost("http://testurl.com/lists/lprocess?action=LoadList|401814|1");
Run Code Online (Sandbox Code Playgroud)
Java/Apache不会让我,因为它说垂直条("|")是非法的.
用双斜线转义它也不起作用:
post = new HttpPost("http://testurl.com/lists/lprocess?action=LoadList\\|401814\\|1");
Run Code Online (Sandbox Code Playgroud)
^不起作用.
有任何建议如何使这项工作?
我有一个源文件,它是已合并在一起的多个文件的组合.我的脚本应该将它们分成原始的单个文件.
每当我遇到以"FILENM"开头的行时,这意味着它是下一个文件的开头.
文件中的所有细节线都是固定宽度; 所以,我现在遇到的问题是,当不应该截断以前导空格开头的行时会被截断.
如何增强此脚本以保留前导空格?
while read line         
do         
    lineType=`echo $line | cut -c1-6`
    if [ "$lineType" == "FILENM" ]; then
       fileName=`echo $line | cut -c7-`
    else
       echo "$line" >> $filePath/$fileName
    fi   
done <$filePath/sourcefile
Run Code Online (Sandbox Code Playgroud) 对于变量temp中的两个示例字符串,例如:
(1) "|RYVG|111|9|"
(2) "|RYVG|111||9|"
Run Code Online (Sandbox Code Playgroud)
我想做以下事情:
String splitRating[] = temp.split("\\|",);
Run Code Online (Sandbox Code Playgroud)
但我希望结果是相同的,这是:
splitrating[0] = ""
splitrating[1] = "RYVG"
splitrating[2] = "111"
splitrating[3] = "9
Run Code Online (Sandbox Code Playgroud)
这意味着我需要对待那双"|" 作为一个分隔符.有没有办法在使用时这样做String.split()?
我要问的是,是否可以按顺序执行以下步骤:
我之所以使用"Run as ..."启动程序而不是"Debug as ..."是因为程序在某个时刻挂起(我怀疑是一个无限循环),但我无法一致地复制它.我的意思是我可以让它一直挂起,但它会在随机场合发生.
对于它的价值,我的程序是一个游戏,它挂在游戏的不同点,这就是为什么我不能确定在哪里放置一个断点,所以如果我可以让它先运行然后切换会很好在挂起/循环的位置进行调试.
例如,对于PreparedStatement,我具有以下选择查询:
“从FOBAR酒吧选择FOO =?”
FOOBAR的参数可以有一个值,也可以为null。
以下代码可以工作吗?
if(<condition>) preparedStatement.setString(1, "<string value>");
else preparedStatement.setString(1, null);
Run Code Online (Sandbox Code Playgroud)
如果没有,应该如何处理?
我正在尝试从Metacritic获取一些视频游戏数据,并且我在此网页上一直收到404错误:
http://www.metacritic.com/game/playstation-2/ico
Run Code Online (Sandbox Code Playgroud)
connect命令非常基本:
Jsoup.connect(url).userAgent("Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.110 Safari/537.36").timeout(0).get();
Run Code Online (Sandbox Code Playgroud)
在Metacritic的数百个类似的视频游戏网页中,我尝试过连接,这是唯一每次都返回404的网页.知道为什么吗?
我需要接收 DBF 格式的输入文件(我相信它是通过 Foxpro 制作的)并按顺序读取记录进行处理。
有没有什么方法可以在 Java 中做到这一点而不使用外部库?
谢谢。
(我只是尽可能避免使用外部库,因为我仍然需要获得批准)