小编Mar*_*arv的帖子

为什么Java的String.equals()方法使用两个计数变量?

我只是在查看Java String类的实现,以下内容让我觉得奇怪:

public boolean equals(Object anObject) {
    if (this == anObject) {
        return true;
    }
    if (anObject instanceof String) {
        String anotherString = (String)anObject;
        int n = value.length;
        if (n == anotherString.value.length) {
            char v1[] = value;
            char v2[] = anotherString.value;
            int i = 0;
            while (n-- != 0) {               // Here n is being decremented...
                if (v1[i] != v2[i])
                    return false;
                i++;                         // while i is being incremented
            }
            return true;
        }
    }
    return false;
}
Run Code Online (Sandbox Code Playgroud)

这可以通过一个计数变量轻松实现,而n …

java string traversal

22
推荐指数
2
解决办法
658
查看次数

javafx,TableView:检测单元格上的双击

给定一个TableView,我需要检测单元格上的双击.

tableView.setOnMouseClicked(new EventHandler<MouseEvent>()
{
    @Override
    public void handle(MouseEvent event)
    {
        if(event.getClickCount()>1)
        {
            System.out.println("double clicked!");
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

如何确定单击鼠标的单元格?

tableview javafx-2

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

维护和控制GUI状态和子状态

我正在寻找创建一个图形阅读器程序,它将采用任何扫描图形并轻松地将其值转换为CSV.下图描述了基本控制流程

在此输入图像描述

我有一个原型启动并运行满足我的基本要求,但在继续开发之前,我想知道维护GUI状态和子状态的最佳方法.现在我正在使用枚举:

public enum UIState {
    MAKING_SELECTION, SELECTING_AXIS_POINTS, SETTING_VALUES, SELECTING_GRAPH_POINTS
}
Run Code Online (Sandbox Code Playgroud)

控制器有一个UIState可以通过调用按钮和鼠标监听器设置

public void setUiState(UIState uiState) {
    switch (this.uiState = uiState) {
        case MAKING_SELECTION:
            frame.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
            break;
        case SELECTING_AXIS_POINTS:
            clearSelection();
            frame.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));
            break;
        case SETTING_VALUES:
            clearSelection();
            break;
        case SELECTING_GRAPH_POINTS:
            frame.setCursor(new Cursor(Cursor.CROSSHAIR_CURSOR));
            clearSelection();
            break;
    }

    updateView(); //Repaints frame
    setChanged();
    notifyObservers(uiState);
}
Run Code Online (Sandbox Code Playgroud)

我的OptionsPanel,包含所有按钮和输入字段的面板,观察控制器并在它观察到变化时调用一个巨大的开关:

@Override
public void update(Observable o, Object arg) {
    if (arg instanceof UIState) {
        switch ((UIState)arg) {
            case MAKING_SELECTION:
                //Set component statuses
                break;
            case SELECTING_AXIS_POINTS:
                //Set component statuses …
Run Code Online (Sandbox Code Playgroud)

java user-interface swing

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

在java中创建一个魔术广场

我必须编写一个程序,从用户那里获取一个奇数,并创建一个魔术方块.幻方是每行,列和对角线的总和相同的方格.这些是编写代码的特征:

  1. 询问用户奇数
  2. 创建一个n×n数组.
  3. 按照以下步骤创建一个魔术方块.
    一个.在第一行的中间放置一个1.
    湾 从行中减去1并将1添加到列中.
    一世.如果可能,将下一个号码放在该位置.
    II.如果不可能,请按照下列步骤操作.
    1. 如果在行-1中,则更改为最后一行
    2. 如果在最后一列中更改为第一列
    3. 如果被阻止,则下拉到下一行(从原始位置)
    4. 如果在右上角,则下拉到下一行.
  4. 打印阵列

我已经编写了代码,但是当我运行它时,程序会输入所有数字,除了第二个; 由于某种原因,我的程序跳过了它.例如,如果我输入数字3作为奇数,我的输出是:

6 1 0 
3 4 5 
9 7 8 
Run Code Online (Sandbox Code Playgroud)

0不应该在那里,但第二个是.这是我的代码:

public static void main(String[] args) {
    System.out.print("Give an odd number: ");
    int n = console.nextInt();
    int[][] magicSquare = new int[n][n];

    int number = 1;
    int row = 0;
    int column = n / 2;
    while (number <= n * n) {
        magicSquare[row][column] = number;
        number++;
        row -= 1;
        column += 1;
        if (row == …
Run Code Online (Sandbox Code Playgroud)

java arrays while-loop magic-square

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

将值映射到ArrayList

我有一个Map<Integer, MyClass>MyClass有2场,Object1 objObject2 objj例如.

如何创建ArrayList<Object2>包含所有Object2值的?

我必须迭代Map,然后将值添加到ArrayList或存在另一种方式?

java dictionary arraylist

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

如何根据属性文件中的属性值实例化@configuration bean

我有两个带有注释的类/bean @Configuration,我必须根据属性文件中的值进行实例化。

远程服务器1.java

@Configuration
public class RemoteServer1 {
    //some authentication logic goes here
}
Run Code Online (Sandbox Code Playgroud)

远程服务器2.java

@Configuration
public class RemoteServer2 {
    //some authentication logic goes here
}
Run Code Online (Sandbox Code Playgroud)

应用程序属性

remote.server.location=RemoteServer1
Run Code Online (Sandbox Code Playgroud)

现在我想实例化@Configuration与属性文件中的值匹配的类/bean。

spring spring-boot

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

var module = require() 还是 const {module} = require()?

这两个需要方法之间的区别是什么:

1. var xx = require('module')
2. const {xx} = require('module')
Run Code Online (Sandbox Code Playgroud)

我看到第一个 onde 我可以访问 xx 作为变量,所有脚本都由模块导出。第二个 xx 未定义。如何访问第二个“方法”或者它是一种方法来构造模块来使用 {}

谢谢

javascript require node.js node-modules

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

不使用局部变量的值

上面的所有变量都在标题中有警告.你能告诉我为什么会这样吗?

public class DataTypes {
    public static void main(String[] argv) {
        // new feature in JDK 7
        int x = 0b1010; // 12
        int y = 0b1010_1010;
        int ssn = 444_12_7691;
        long phone = 408_777_6666L;
        double num = 9_632_401_909.1_0_3;
        String twoLine = "line one\nline two";
    }
}
Run Code Online (Sandbox Code Playgroud)

java int java-7

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