小编Boh*_*ian的帖子

MySQL - 同一列的不同WHERE子句

我有一种情况需要根据内容创建列.

例如,这里是SQLFiddle - http://sqlfiddle.com/#!2/0ec7a/1.

我需要得到这样的结果:

--------------------------
| CITY | MALES | FEMALES |
--------------------------
| NY   | 5     | 2       |
--------------------------
| DC   | 2     | 1       |
--------------------------
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

我正在查看MySQL手册中的CASE WHEN陈述和IF陈述,但更清楚的解释将非常有用.

mysql sql pivot case

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

Java在HashMap中查找最接近的上一个日期

我有一个问题需要解决,我需要在Java中创建一个会计和簿记解决方案(现在只是后端).他们要求系统存储以前给定产品的价格,所以我决定选择HashMap<Date,Integer>.

现在问题是,系统必须能够在给定时间内检索价格,用于记帐,追溯购买(订单存储物品和购买时间,因此可以轻松回顾).这将是好事,但如果购买日期与价格设置日期不匹配,则简单的get方法返回null.到目前为止,我还没有能够找出在购买日期之前查找第一个上一个日期的搜索方法,以返回价格.

有没有建议的方法来解决这个问题?

java search date hashmap

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

动态(编译时生成)Java包名称

我正在开发一个通用的Android游戏引擎,它将在我的许多Android应用程序中用作基本系统.问题是,在我的所有Java文件中,我目前必须对软件包名称进行硬编码,如下所示:

package com.example.mygameengine;
Run Code Online (Sandbox Code Playgroud)

但是因为我想在许多不同的应用程序中使用我的通用游戏引擎的代码,我需要找到一种方法来在编译时指定Java文件的包名称,因为我不想保留我的Java源代码的几个副本因为包名的不同.我希望有一个中央源代码树,包名称应该可以动态更改,具体取决于我即将编译的应用程序.

那么有办法做这样的事情:

package $(PACKAGE_NAME)
Run Code Online (Sandbox Code Playgroud)

在Java源代码中,在编译时将$(PACKAGE_NAME)替换为真实的包名?也许javac有一个选项允许我为它传递的文件指定一个包名,而不是从文件本身中取出它?请注意,我没有使用Eclipse,而是使用ant和make等准系统命令行工具.

编辑:我不明白为什么这被标记为重复.我已经问过一个基本问题,即Java语言中的"package"指令是否需要源代码中的硬编码字符串参数,或者是否也可以使用编译器指令在编译时设置此包名称.这是一个完全不同的问题,而不是在这里被链接为假定的"原始"问题,它与Android构建系统关系更紧密.我的问题是关于Java语言的基础知识,而不是Android构建系统.

java android build-process

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

如何在我的sql表中获取数据时显示0而不是NULL

我取出由MySQL表数据它工作正常,但它显示NULLStatus在两个领域.我想要而不是NULL表演0.

这是我的查询:

SELECT ml.GroupID, ml.GroupTitle, ml.GroupDescription, ml.GroupCreatedDateTime, ml.GroupOwnerUserID, ml.ApprovalNeeded, ml.GroupStatus, ml.OrganizationCode, cat.Status
FROM GroupsMaster AS ml
LEFT JOIN UserGroupsMapping cat ON cat.GroupID = ml.GroupID
WHERE ml.OrganizationCode = ?
Run Code Online (Sandbox Code Playgroud)

mysql sql null

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

Java如何添加一个排除某个数字的随机生成器?

假设我想生成从ArrayList中获取的随机数:(1,2,3,4,5,6,7,8,9,10)

随机生成器产生5.

列表更新 - AL:(1,2,3,4,6,7,8,9,10)

下一个随机数不能是5.


我正在编写一个从arraylist生成随机数的程序,一旦生成随机数,列表就会删除该数字,下一个随机生成的数字不能是该数字.

ArrayList<Integer> numsLeft = new ArrayList<Integer>(Arrays.asList(1,2,3,4,5,6,7,8,9,10));

  Random randomGenerator = new Random();

 int number = 0; 
 String cont;

 do
 {
 number = randomGenerator.nextInt(numsLeft.size()); 
 numsLeft.remove(number);

  System.out.println (number + " continue (y/n)");
  cont = (stdin.readLine());
 } 
 while (cont.equalsIgnoreCase("y"));      
Run Code Online (Sandbox Code Playgroud)

但我唯一可以做的就是减小尺寸......

http://docs.oracle.com/javase/7/docs/api/java/util/Random.html

java random arraylist

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

为什么构建器模式使用new关键字虽然它的构造函数是私有的?

我看到代码Java Builder Pattern.除了下面的代码,一切都很好:

public static void main(String[] args) {
                NutritionFacts cocaCola = new NutritionFacts.Builder(240, 8)
                                .calories(100).sodium(35).carbohydrate(27).build();
        }
Run Code Online (Sandbox Code Playgroud)

NutritionFacts构造函数是私有的,Builder内部类是静态的.因此,我们可以访问使用这个类NutritionFacts.Builder,但为什么它使用了新的关键字new NutritionFacts.Builder(240, 8)

java design-patterns

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

JQM 1.4.2可折叠事件扩展不起作用

我们动态生成可折叠内容,如下所示:

$('#'+object.TARGET).html(response).trigger('create');
Run Code Online (Sandbox Code Playgroud)

可折叠的工作非常好

<div data-role="collapsible" id="ims-page-start-content-detail-vertrag">
    <h2>Mieter</h2>
    <p></p>
</div>
Run Code Online (Sandbox Code Playgroud)

但是如果我们想要使用expand-event:

$("#ims-page-start-content-detail-vertrag").on( "collapsibleexpand", function( event, ui ) { alert("test"); } );
Run Code Online (Sandbox Code Playgroud)

要么

$("#ims-page-start-content-detail-vertrag").collapsible({
    expand: function( event, ui ) { alert("test"); }
});
Run Code Online (Sandbox Code Playgroud)

没有回答!我们做错了什么?坦克很多;-)


我们加上这个:

$(document).off('pageshow','#ims-page-start').on('pageshow','#ims-page-start',function(){

$('#ims-page-start-content-detail-vertrag').bind('expand', function () {    alert('Expanded');
   }).bind('collapse', function () {
   alert('Collapsed');
    });

});
Run Code Online (Sandbox Code Playgroud)

但这仍然无法正常工作!我们认为问题是如何动态生成可折叠的

jquery-mobile jquery-mobile-collapsible

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

线程安全删除/添加元素从一个列表到另一个列表

假设我有两个列表:fooListbarList.另外,假设我有两个线程:第一个迭代fooList,如果满足某些条件(条件为真),它会从fooList中删除元素并将其添加到barList.第二个迭代barList,如果某个其他条件为true,则从barList中删除元素,并将其添加到fooList.

我处理它的方式是:

private static Object sharedLock = new Object();

Thread t1 = new Thread() {
    public void run() {
        synchronized (sharedLock) {

            for (Iterator<String> iterator = fooList.iterator(); iterator.hasNext();) {
                String fooElement = iterator.next();
                if (condition == true) {

                    iterator.remove();
                    barList.add(fooElement);

                }
            }

        }
    }
};

Thread t2 = new Thread() {
    public void run() {
        synchronized (sharedLock) {

            for (Iterator<String> iterator = barList.iterator(); iterator.hasNext();) {
                String barElement = iterator.next();
                if (otherCondition == true) {

                    iterator.remove();
                    fooList.add(barElement); …
Run Code Online (Sandbox Code Playgroud)

java multithreading iterator list thread-safety

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

java正则表达式模式用空格格式化数字

我有号码

1110000010
Run Code Online (Sandbox Code Playgroud)

需要格式化,以便在前3个字符后面插入一个空格,在另外3个字符后插入另一个空格,使其看起来像:

111 000 0010 
Run Code Online (Sandbox Code Playgroud)

什么是简单的java正则表达式模式来实现这一目标?

java regex

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

根据出生日期计算特定年龄范围内的用户数

我有表的用户user_id,user_nameuser_dob.

我想算一下18岁以下,18-50岁以上和50岁以下的用户数量.

需要改进Age计算方法来计算确切的年龄,但是现在我更感兴趣的是找到计算方法

所以我尝试过:

SELECT COUNT ([user_id]) 
from [user]
where (DATEDIFF(yy,[user_dob], GETDATE()) < 18)
UNION ALL
SELECT COUNT ([user_id]) 
from [user]
where (DATEDIFF(yy,[user_dob], GETDATE()) >= 18 AND DATEDIFF(yy,[user_dob], GETDATE()) <=50)
UNION ALL
SELECT COUNT ([user_id]) 
from [user]
where (DATEDIFF(yy,[user_dob], GETDATE()) > 50)
Run Code Online (Sandbox Code Playgroud)

它给我的结果如下:

(No column name)
1218
3441
1540
Run Code Online (Sandbox Code Playgroud)

但我需要这样的东西

Range    | Count
----------------
Under 18 |  1218
18-50    |  3441
Over 50  |  1540
Run Code Online (Sandbox Code Playgroud)

有关如何存档以上格式的任何建议?

sql sql-server sql-server-2012

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