在if块中设置变量的值。阻止

时间:2017-02-10 16:01:42

标签: java if-statement for-loop

if (!pos[1].equals("")) {
    String name = pos[1];
    System.out.println(name);
    int p = 0;
    for (int i = name.length() - 1; i>0; i--){
        if (name.charAt(i)==' ') {
            p = i;  
            break;
        }
        System.out.println(p);
        rank[1] = Integer.parseInt(name.substring(p).trim());
    }
}

在代码中, int p 在if块中设置为 i 。但是,当在if块之外访问它时,该值仍然 0 ,而不是在if条件中设置的值 i

1 个答案:

答案 0 :(得分:2)

如果将p设置为与0不同的值,则永远不会打印if(name.charAt(i)==' '){ p= i; break; }

p

如果输入块,则设置值并退出循环,因此仅在未输入块时才打印值,因此0仍为joins