小编Jo.*_*o.P的帖子

实现Java Comparator

我正在尝试编写一个利用最小优先级队列的算法,所以我在谷歌上环顾四周找到了PriorityQueue.看来,为了使用它,我需要告诉它我希望它如何优先排序,并且这样做的方法是使用比较器(我想比较我的"Node1"的特定数据字段)对象).更多的谷歌搜索提出了创建一个新比较器的想法,该比较器实现了比较器,但覆盖了比较方法.我正在尝试的是这个(以及它的其他变体):

import java.util.Comparator;

public class distComparator implements Comparator {

    @Override
    public int compare(Node1 x, Node1 y){
        if(x.dist<y.dist){
            return -1;
        }
        if(x.dist>y.dist){
            return 1;
        }
        return 0;
    }
}
Run Code Online (Sandbox Code Playgroud)

编译器有几个理由抗议,其中一个原因是我没有超越比较器类(它说它是抽象的)

错误:distComparator不是抽象的,并且不会覆盖Comparator中的抽象方法compare(Object,Object)

我已将其切换为"比较(对象x,对象y)",它负责该问题.此时虽然编译器抱怨它无法在x或y中找到"dist"变量 - 这是有道理的,因为它们是我的Node1类的一部分,而不是Object类.

那应该怎么做呢?它Object显然应该有类型,但是如何将它引导到正确的变量?

java implementation priority-queue comparator

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

将表单变量传递给onsubmit字段?

我试图在发送之前验证表单的内容.基本上,我正在尝试使用表单中的数字并确保它们在正确的范围内.问题是我试图验证它的JavaScript认为传递给它的项目是NaN(我一直在解析它).

一点点工作揭示变量("大小")指的是"HTMLInputEleMent",我猜的确实是NaN(虽然我不太确定它实际上是什么).我认为问题在于onSubmit没有传递我希望它传递的内容,即使我将字段命名为"size"并且我也传递了onSubmit"size".

我试着把它放在引号中,但这只是把它变成一个字符串......

我想知道你是否可能无法将表单中的WITHIN变量传递给它的onSubmit字段?是这样吗?如果是这样,我该怎么做?

这是表格:

        <form onsubmit="return goodForm(size, day, month, year)" action="http://localhost:8080/pomper_servlet/CostCalc" method="GET">              
            The day of the month must be entered as a number (ex: 1,22)
            <input type="text" name="day"><br>
            The month of the year must be entered as a number (ex: Jan.=1, etc.)
            <input type="text" name="month"><br>
            The year must be entered as a 4 digit number (ex: 2008, 2017)
            <input type="text" name="year"><br>
            Please Choose a tour-length, in accordance with the chart below:
            <input type="TEXT" name="length"><br>
            How many people will be …
Run Code Online (Sandbox Code Playgroud)

javascript forms nan onsubmit

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

HTML中的值与占位符属性

我正在处理表单,并且有用户可能填写或未填写的字段。为了使后端逻辑简单,我计划从表单中获取所有数据,并使用所有数据更新我的记录,而不管用户是否输入了字段。

有人告诉我(也许是错误地)我可以获取数据库中当前存在的数据(即页面加载时的数据)并将其放入输入区域的“值”属性中。据推测,如果用户未在该字段中输入任何内容,则旧/当前值将简单地传递回服务器并重新输入(但不会更改)。

如果用户确实输入数据,则该值将成为新值。

所以看起来像这样:

<input type='text' name='XYZ' value='<?php echo $record['XYZ']; ?>'></td>
Run Code Online (Sandbox Code Playgroud)

-1--第一个问题是,这是真的吗?

第二个问题是我不希望此值出现在实际的文本字段中。因此,我在输入标签中添加了一个占位符属性:

<input type='text' name='XYZ' value='<?php echo $record['XYZ']; ?>' placeholder=''></td>
Run Code Online (Sandbox Code Playgroud)

但是value属性似乎覆盖了占位符标签!

-2--因此,第二个Q是,是否有我想要分配的值,而没有在实际文本字段中显示它?

html input

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

java.lang.InstantiationException:在作用域内找不到bean [name]

我现在正在学习如何使用jsp和bean,并且无法理解我遇到的问题.

我正在尝试创建这样的bean:...

并得到错误:

java.lang.InstantiationException:在作用域内找不到bean保留

我在网上浏览过,大多数人似乎建议使用class ="..."而不是type ="...",或者使用import语句.我已经做了前者并尝试了后者......任何想法?

这是豆子:

package homework10;

public class Reservation {

private int groupSize;
private String status;
private double cost;
private boolean triedAndFailed;

public Reservation(){      
}

public void setGroupSize(int gs)
{
    groupSize = gs;
}

public int getGroupSize()
{
    return groupSize;
}
public void setStatus(String str)
{
    this.status = str;
}

public String getStatus()
{
    return status;
}    

public void setCost(double cost)
{
    this.cost = cost;
}

public double getCost()
{
    return cost;
} 

public void setTriedAndFailed(boolean …
Run Code Online (Sandbox Code Playgroud)

java jsp javabeans

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

数据库记录未在 Rails 测试函数中保存/保留?

我有一个update-type 方法,我正在尝试使用 MiniTest 和 FactoryGirl 在 Rails 中测试它。我的问题是,虽然我可以看到更新更新函数中正确发生但它似乎没有正确地返回到测试函数中。

\n\n

这些是我们正在使用的对象,(obj被赋予默认值location以开始:

\n\n
location1 = create :location\nlocation2 = create :location\nobj = create :object, location: location1\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后我们调用该update函数,该函数接受id\'s:

\n\n
obj.update_location(obj.id, location2.id)\n
Run Code Online (Sandbox Code Playgroud)\n\n

功能update

\n\n
def update_location(obj_id, loc_id)\n    @obj = Object.find(obj_id)\n    @obj.location_id = loc_id\n    @obj.save\nend\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,当回到测试文件中,我尝试assert更改 \xe2\x80\xa6

\n\n
assert_equal obj.location_id, location2.id\n
Run Code Online (Sandbox Code Playgroud)\n\n

...我失败了。控制台告诉我obj.location_id仍然等于location1.id!为什么是这样?

\n\n

看起来@obj.save 工作正常,因为我插入了puts @obj.inspect更新函数并且它输出了正确更新的 …

ruby-on-rails persistent minitest

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

无法在MySQL中插入DATETIME列

我有以下查询:

INSERT INTO sales SET store_id = ..., startDate = '2014-11-01 24:59:00', expireDate = '2014-11-01 24:59:00', …
Run Code Online (Sandbox Code Playgroud)

查询有效(即插入成功),但startDate和expireDate列(类型'DateTime')填充为'0000-00-00 00:00:00'.为什么会这样?

mysql datetime

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

当 Selector 返回多个元素时使用 JQuery 的 .attr()

我试图从几个字段中的每一个中提取 2 条数据。所有字段都被赋予了相同的“名称”,以便于引用它们。

 <input type="text" name="common_name" data-X='ABC'>
Run Code Online (Sandbox Code Playgroud)

我提取的第一条数据是它们的值,这似乎确实有效。我的问题是当我尝试使用attr(). 那个时候它就死在水里了。

var length = $('[name=common_name]').size();
for(var i=0; i < length; i++){
    var value = parseInt($('[name=common_name]').get(i).value); //doesn't kill the script            
    var dataX = $('[name=common_name]').get(i).attr('data-X'); //Script is killed here
 }
Run Code Online (Sandbox Code Playgroud)

Since I'm not having issues with using attr()in general when the selector is selecting the element based on an id, I would think the issue has to do with the fact that in this case multiple elements are being returned by …

javascript jquery attr

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

Rails-如何使用MiniTest的Teardown方法

我已经在互联网上浏览了很长时间,令人沮丧,但是teardown()对于 MiniTest中该方法的目的以及应该如何使用它,我仍然很困惑。

我的基本要点是每次测试后运行 1 次,然后 2 次撤消测试期间所做的事情,以便将来的测试在干净的环境中运行。

但是,我不清楚它需要撤消的事情的性质:是否需要清空数据库?重置类变量?等等。

我也不清楚该方法是否应该明确填写。我发现了很多例子,其中teardown()完全被排除在这个例子之外。

(我最好的猜测是有一个teardown自动运行并处理某些事情的超级方法。这可以解释为什么它经常被遗漏,也可以解释为什么在给定的teardown()方法中有些东西被重置而有些则没有.但我还是不知道哪些是,哪些不是。)

简而言之:

是否需要显式创建拆卸?在什么情况下需要覆盖它,在什么情况下不需要?

ruby-on-rails minitest teardown

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

从Rails中的DB重新生成YAML夹具

我正在使用Rails,我的YAML灯具已损坏且无法使用.我想基于开发数据库重新生成YAML灯具.

不是要把所有数据库数据转换成一个夹具.我想要的是重新创建最初在模型创建时创建的标准灯具.

在Rails 4中有一个简单的方法吗?

(我看到这个页面讨论了如何通过创建一个rake任务来实现这个目标.但是Q是从3年前开始的,我想知道是否已经创建了一个更直接的方法.)

ruby yaml fixture ruby-on-rails

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

在java中读取文本文件 - 为什么跳过行?

我是新来的,只是努力尝试获取文本文件.在每一行上都有一个单词和相应的数字代码.我们的想法是阅读它并将代码和单词放在单独的变量中.我对这个领域了解不多,但我一直在网上寻找并提出以下建议:

try{
    FileReader freader=new FileReader(f); 
    BufferedReader inFile=new BufferedReader(freader);
    while (inFile.readLine()!=null){
       String s=null;
       s=inFile.readLine();
       System.out.println(s);
               String[] tokens=s.split(" ");
       string=tokens[0];
       System.out.println(string);
       code=tokens[1];
       System.out.println(code);
       c.insert(string, code);
    }//end outer while
}//end try
Run Code Online (Sandbox Code Playgroud)

问题是未读取文本文件的第一行.然后它每次都跳过一条线!(换句话说,只读取第1行,第3行,第5行,第7行等)

正如我上面所说,我是新手,我不太了解我在网上不同网站上看到的所有不同内容(比如为什么所有内容都是bufferedThis或bufferedThat,或者如何正确使用所有令牌化器的东西).我在不同的时间尝试了一些不同的东西,最后得到了这个.

java text file readline token

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