小编gat*_*tor的帖子

Java中构造函数的用途?

构造函数的目的是什么?我一直在学习Java,在我看来,构建器在我们迄今为止所完成的工作中基本上是多余的.如果出现一个目的还有待观察,但到目前为止对我来说似乎毫无意义.例如,以下两段代码之间有什么区别?

public class Program {    
    public constructor () {
        function();
    }        
    private void function () {
        //do stuff
    }    
    public static void main(String[] args) { 
        constructor a = new constructor(); 
    }
}
Run Code Online (Sandbox Code Playgroud)

这就是我们被教导如何做任务的事情,但下面不会做同样的交易吗?

public class Program {    
    public static void main(String[] args) {
        function();
    }        
    private void function() {
        //do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

构造函数的目的让我感到惊讶,但到目前为止我们所做的一切都非常简陋.

java methods constructor function

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

将<div> =的高度设置为另一个<div>到.css的高度

<div>这个网站上有两个元素.这是我正在开发的一个网站,是一项正在进行的工作,但我想在今晚完成一些设计选择.现在我的简化.css是这样的:

#leftdiv {
    /*this is the navigation pane*/
    min-height: 600px;
    max-height: 600px;
}
#rightdiv {
    /*this is the primary pane*/
    min-height: 600px;
    max-height: 600px;
    overflow-y: auto;
}
Run Code Online (Sandbox Code Playgroud)

我为两者设置了一个很难的最小和最大高度,因此它们保持相同的高度,如果内容溢出#rightdiv,则会出现一个滚动条.我希望这个滚动条消失,#rightdiv并且#leftdiv拉伸以适应内容#rightdiv.您可以在我链接的页面中看到,有些内容溢出#rightdiv了滚动条的边界.我希望整个网站在高度方向上伸展以适应内容,但如果我overflow-y: auto;从我的.css中移除并移除最大高度,#rightdiv延伸,但#leftdiv不会,产生一些真正丑陋的设计.

我想要像下面这样的东西:

#leftdiv {
    min-height: equal to #rightdiv height if #rightdiv is taller, else 600px;
}
#rightdiv {
    min-height: equal to #leftdiv height if #leftdiv is taller, else 600px;
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能像这样设定两者的最小高度?

javascript css jquery

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

下拉的第一个选择不是一个选项; 强制使用其他选项

<select name="name">
    <option>Select an option.</option><br/>
    <option>A</option><br/>
    <option>B</option><br/>
    <option>C</option><br/>
</select>
Run Code Online (Sandbox Code Playgroud)

HTML5有required="required",这是我想要的效果与上面的下拉列表.我不希望用户选择"选择一个选项",只选择"A","B"或"C".我知道我可以设置默认值A并完全删除"选择一个选项"选项,但我不希望用户在不阅读可用选项的情况下随意点击.

可以用HTML和/或JS完成吗?

html javascript

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

对象a =对象b; 对象a会发生什么?

我的一位教授为考试提供了一些练习题,其中一个问题如下(伪代码):

a.setColor(blue);
b.setColor(red);
a = b;
b.setColor(purple);
b = a;
//what color is a, and what color is b?
Run Code Online (Sandbox Code Playgroud)

这对我来说似乎非常简陋,所以我提出的答案是a是'红色',b是'红色',但我被告知这是不正确的.因为我的数学问题,我已经打破了我的答案:

a = 15;
b = 12;
a = b; //a becomes 12
b = 13;
b = a; //b becomes 12
Run Code Online (Sandbox Code Playgroud)

但我的思维过程是通过C语言,而不是Java.我认为两者都有一些通用的方法,但也许我错了?我的回答是错的还是我的教授错了?我是Java的新手,虽然我有一些C,Python和Web逻辑(PHP,Ruby)的命令,所以我很抱歉,如果这是微不足道的(它是).

java math

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

对角线穿过阵列

我有一个任意大小的大数组.这是一个方阵.我试图掌握如何沿着对角线遍历它/而不是\(我已经知道该怎么做).到目前为止,我有以下代码:

char[][] array = new char[500][500];
//array full of random letters
String arrayLine = "";
for (int y = 0; y < array.length; y++) {
    for (int x = 0; x < array.length; x++) {
        for (???) {
            arrayLine = arrayLine + array[???][???];
        }
    }
    System.out.println(arrayLine);
}
Run Code Online (Sandbox Code Playgroud)

我有三个循环,因为这是我做另一个对角线的方式:

for (int y = 0; y < array.length; y++) {
    for (int x = 0; x < array.length; x++) {
        for (int z = 0; z < array.length-y-x; …
Run Code Online (Sandbox Code Playgroud)

java arrays traversal

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

查找30天内的条件已过去的日期

对于我的网站,我有一个忠诚度计划,如果客户在过去30天内花了100美元,那么客户可以得到一些好东西.如下查询:

SELECT u.username, SUM(total-shipcost) as tot
    FROM orders o
        LEFT JOIN users u
        ON u.userident = o.user
    WHERE shipped = 1
    AND user = :user
    AND date >= DATE(NOW() - INTERVAL 30 DAY)
Run Code Online (Sandbox Code Playgroud)

:user是他们的用户ID.该结果的第2列给出了客户在过去30天内花费了多少,如果超过100,则获得奖金.

我想向用户显示他们将离开忠诚度计划的那一天.像"x天到奖金到期"之类的东西,但我该怎么做?

以今天的日期(3月16日)和用户的订单历史记录为例:

id | tot  |    date
-----------------------
84    38     2016-03-05
76    21     2016-02-29
74    49     2016-02-20
61    42     2015-12-28
Run Code Online (Sandbox Code Playgroud)

此用户现在是忠诚度计划的一部分,但在3月20日离开.我可以做什么SQL返回用户离开忠诚度计划的天数(4)?

如果用户随后下了另一个订单:

id | tot  |    date
-----------------------
87    12     2016-03-09
Run Code Online (Sandbox Code Playgroud)

直到20日,他们仍然在忠诚度计划中,所以剩下的日子在这种情况下不会改变,但如果总数是50,那么他们将在29日离开程序(所以不是4天,而是13天剩下的).对于它的价值,我只关心当前日期前30天.不需要考虑28,29,31天的月份.

一些create table代码:

create table users (
    userident int,
    username varchar(100)
); …
Run Code Online (Sandbox Code Playgroud)

mysql sql date

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

查找多个列表中的元素数量并组合; 删除if/else复杂?

我有一份清单清单:

List<List<String>> someList = new List<List<>>();
Run Code Online (Sandbox Code Playgroud)

列表的最大大小为五个字符串.它如下所示:

someList.get(0).size(); // 4 elements
someList.get(1).size(); // 1 elements
someList.get(2).size(); // 3 elements
someList.get(3).size(); // 1 elements
...
Run Code Online (Sandbox Code Playgroud)

我正在尝试通过组合上面的一些嵌套列表来设计一种方法来创建一个特定大小的新列表(1-5个元素).我可以做类似下面的事情(在这个例子中,三个元素):

public List<String> getThree() {
    for (int j = 0; j < someList.size(); j++) {
        //look for nested lists of size 3
        if (someList.get(j).size() == 3) {
            return someList.get(j);
        }
    for (int j = 0; j < someList.size(); j++) {
        //if found nested list of size 2, find one of size 1 to combine
        if (someList.get(j).size() …
Run Code Online (Sandbox Code Playgroud)

java list

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

遗传算法如何在不知道搜索量的情况下优化神经网络的权重?

我已经实现了一个遗传算法训练的神经网络,其中包含一个变异算子,如下所示:

def mutation(chromosome, mutation_rate):
  for gene in chromosome:
    if random.uniform(0.00, 1.00) <= mutation_rate:
      gene = random.uniform(-1.00, 1.00)
Run Code Online (Sandbox Code Playgroud)

并且染色体最初是随机初始化的:

def make_chromosome(chromosome_length):
  chromosome = []
  for _ in range(chromosome_length):
    chromosome.append(random.uniform(-1.00, 1.00))
  return chromosome
Run Code Online (Sandbox Code Playgroud)

在执行交叉时,后代染色体只能在该区间内有基因,[-1, 1]因为父染色体也只有在该区间内的基因。当后代发生突变时,它同样会将其基因保持在该区间内。

这似乎对某些问题有效,但对其他问题无效。如果神经元的最佳权重在 内[-1, 1],那么遗传算法有效,但是如果神经元的最佳权重在不同的区间内呢?

例如,如果我使用分类误差低于 5% 的终止条件使用反向传播训练网络,我可以查看网络权重并查看诸如-1.491.98、等值2.01。我的遗传算法永远无法生成这些基因,因为基因在[-1, 1]和交叉和突变也不能产生该范围之外的基因。

看来我需要更好地定义搜索空间,如下所示:

# search space boundaries
S_MIN = -1.00
S_MAX = 1.00

# in mutation()
gene = random.uniform(S_MIN, S_MAX)

# in make_chromosome()
chromosome.append(random.uniform(S_MIN, S_MAX))
Run Code Online (Sandbox Code Playgroud)

然后我可以根据问题设置搜索空间边界。但是我如何确定搜索空间呢?此信息不是先验已知的,而是通过训练网络找到的。但是如果训练需要知道搜索空间,那么我就处于停滞状态。

我可以将搜索空间设置为任意大(例如,肯定比必要的大),但是算法收敛得很慢。我需要至少知道遗传算法搜索空间的大致数字才能有效。

对于反向传播,搜索空间不是先验已知的,这无关紧要,但对于 GA 来说却是。

python machine-learning neural-network mutation genetic-algorithm

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

在fieldset中的两个传说

对于给定的字段集,您不能有两个图例,但有没有办法在不使用<legend>标记的情况下获得图例效果?

<!-- left legend -->
<fieldset>
    <legend>
        Some Text
    </legend>
</fieldset>
Run Code Online (Sandbox Code Playgroud)

我可以添加align=right到图例标签,使其在右侧,但再次,我不能有两个传说.我想在左边一个传说,有点像右边的传说.像下图这样的东西.

如何使用HTMLCSS实现此目的?这是一个小提琴,我基本上想要将这两者结合起来.左侧是常规图例文字,右侧是下拉列表,如果重要的话.

Fieldset有2个传说

更新

这是我正在使用的一些代码:

#shifter {
  position: relative;
}
#cataright {
  position: absolute;
  top: -25px;
  right: 20px;
  font-weight: bold;
}
.grey {
  padding: 15px;
  padding-left: 30px;
  padding-right: 30px;
  border: solid black 3px;
  border-radius: 7px;
  background-color: #DDDDDD;
}
Run Code Online (Sandbox Code Playgroud)
<fieldset class="grey" id="shifter">
  <legend>
    Title
  </legend>
  <div id="cataright">
    Sort by
    <select id="sort" onchange="sort();">
      <option value="original">Release Date</option>
      <option value="popularity">Popularity</option> …
Run Code Online (Sandbox Code Playgroud)

html css forms legend

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

将字符串拆分为数组的n长度元素

如果String.split()字符串中充满了数字,我将如何将字符串拆分为相等的部分?例如,下面的每个部分的大小为5.

"123" would be split into "123"
"12345" would be split into "12345"
"123451" would be split into "12345" and "1"
"123451234512345" would be split into "12345", "12345" and "12345"
etc
Run Code Online (Sandbox Code Playgroud)

这些将被放入一个数组:

String myString = "12345678";
String[] myStringArray = myString.split(???);
//myStringArray => "12345", "678";
Run Code Online (Sandbox Code Playgroud)

我只是不确定正在使用的正则表达式,也不确定如何将它分成相同大小的块.

java regex arrays string

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