小编ojo*_*ifu的帖子

除非从函数中调用,否则Javascript Integer增量将不起作用

我本打算将其发布为问题的问题,但后来我找到了一个“解决方案”(如果是的话),现在这更像是一种试图了解情况的尝试。

我有一个0在屏幕上显示数字的javascript代码,然后单击按钮时,数字应该根据单击按钮的次数而增加。

在此处输入图片说明

这是我最初使用的代码:

var number = 0;

$ (document).ready (function() {

    document.getElementById("display").innerHTML = "Number of clicks: " + number;
    $("#submit").bind ('click', function(event) {
    document.getElementById("display").innerHTML = "Number of clicks: " + number++;

});
});
Run Code Online (Sandbox Code Playgroud)

问题是按钮单击事件仅在第二次单击之后才起作用。这意味着我必须单击两次按钮才能进行增量操作。所以我创建了一个函数:

function increment () {
   number++;
   return number;
}
Run Code Online (Sandbox Code Playgroud)

然后将初始代码的最后一行更改为:

   document.getElementById("display").innerHTML = "Number of clicks: " + increment();
Run Code Online (Sandbox Code Playgroud)

现在,数字在我第一次单击按钮时增加。我只需要知道为什么第一种方法不起作用。

javascript jquery

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

使用聚合操作将对象集合复制到另一个集合而不重复

我有一个List名为的项目,并将items此列表复制到Set使用:

 List<Item> items = new ArrayList<>();

    items.add(new Item("Suremen Body Spray", 1900, 45));
    items.add(new Item("HP wireless mouse", 5500, 5));
    items.add(new Item("UWS USB memory stick", 1900, 8));
    items.add(new Item("MTN modem", 1900, 45));
    items.add(new Item("MTN modem", 1900, 45));

    Collection<Item> noDups = new LinkedHashSet<Item>(items); //Copy items to noDups

    //Print the new collection
    noDups.stream()
       .forEach(System.out::println);
Run Code Online (Sandbox Code Playgroud)

当我运行代码时,所有项目都被复制到集合中,如输出中所示.

在此输入图像描述

使用Strings的另一个测试工作得很好:

List<String> names = new ArrayList<>();

    names.add("Eugene Ciurana");
    names.add("Solid Snake");
    names.add("Optimus Prime");
    names.add("Cristiano Ronaldo");
    names.add("Cristiano Ronaldo");


    Collection<String> itemCollection = new HashSet<String>(names);
     itemCollection.stream()
           .forEach(System.out::println); …
Run Code Online (Sandbox Code Playgroud)

java collections

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

SQLiteConstraintException:更新行时列id不是唯一(代码19)异常

我在我的数据库中有一个表,当添加新记录时,我正在检查记录是否存在使用id.如果它存在,我想更新记录,如果它没有添加新记录.但我得到了例外:

2006年至2259年/?E/SQLiteDatabase:插入错误id = 080333 phone = 080333 total_owed = 15050.0 total_debts = 0 name = Alison Jones android.database.sqlite.SQLiteConstraintException:列id不唯一(代码19)

这是检查记录是否存在的方法:

 public boolean checkIfExists(String tableName, String value) {

    SQLiteDatabase database = this.getReadableDatabase();

    String Query = "Select * from " + tableName + " where " + DEBTOR_ID + " = " + value;
    Cursor cursor = database.rawQuery(Query, null);
    if(cursor.getCount() <= 0){
        cursor.close();
        return false;
    }
    cursor.close();
    return true;

}
Run Code Online (Sandbox Code Playgroud)

它在这里被使用:

            debtor.setDebtorName(params[0]);
            debtor.setPhoneNumber(params[1]);
            debtor.setTotalAmountOwed(Double.parseDouble(params[6]));
            debtor.setTotalDebts(0);

            if (databaseHandler.checkIfExists(DebtDatabaseHandler.DEBTOR_TABLE_NAME, params[1])) {
                Log.d("NewDebtFragment", "Record already exist"); …
Run Code Online (Sandbox Code Playgroud)

sqlite android android-database

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

从控制台获取枚举类型的输入

你如何从控制台获取enumJava 类型的输入?

我有这门课:

class enumTest {

  public enum Color {
    RED, BLACK, BLUE
  }

  BufferedReader input = new BufferedReader(new InputStreamReader(System.in));
  Color color = input.readLine();

  public static void main (String[]args) {

  switch (color) {
    ...
Run Code Online (Sandbox Code Playgroud)

在这条线上,Color color = input.readLine();我收到一个错误消息:

incompatible types: String cannot be converted to Color
Run Code Online (Sandbox Code Playgroud)

我如何解决这个问题?

java enums

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

使用Contentful Space,属性值必须是常量错误

我收到错误消息:

属性值必须是常量

为我的Space类定义Space注释时:

在此输入图像描述

我看过Java中的问题为什么这个错误:'属性值必须是常数'?这是最接近我的问题,但它没有帮助.

我使用的是最新的Vault库:

compile 'com.contentful.vault:core:2.1.0'
Run Code Online (Sandbox Code Playgroud)

以前的版本不需要Locale属性.我该如何解决这个问题?

java contentful

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

输入返回"未定义"值

我将此复选框列表定义为:

<div  data-role="fieldcontain">
        <fieldset data-role="controlgroup">
            <input type="checkbox" name="minutes" id="minutes" class="custom" value="minutes"/>
            <label for="minutes">Minutes</label>
            <input type="checkbox" name="hours" id="hours" class="custom" value="hours" />
            <label for="hours">Hours</label>
Run Code Online (Sandbox Code Playgroud)

和输入文本字段:

 <input type="number" size="10" id="time_value"/>
Run Code Online (Sandbox Code Playgroud)

在我的JavaScript中,我有这个(凌乱,我知道):

if ($("#minute").is(':checked')) {
  var minutes = parseInt($("#time_value").val());
} else if  ($("#hours").is(':checked')) {
    var hours = parseInt($("#time_value").val());
} else {
    alert("No value selected");
}

alert(hours);
Run Code Online (Sandbox Code Playgroud)

问题是,如果我选中minutes复选框,值time_value是,"undefined"但如果我检查hours,time_value是什么,我进入输入字段.

html javascript

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