相关疑难解决方法(0)

什么是Java?:操作符调用,它做了什么?

我已经使用Java几年了,但直到最近我还没有碰到这个结构:

int count = isHere ? getHereCount(index) : getAwayCount(index);
Run Code Online (Sandbox Code Playgroud)

这可能是一个非常简单的问题,但有人可以解释一下吗?我该怎么看?我很确定我知道它是如何工作的.

  • 如果isHere是真的,getHereCount()被称为,
  • 如果isHere是假getAwayCount()则调用.

正确?这个结构叫做什么?

java syntax ternary-operator conditional-operator

148
推荐指数
6
解决办法
18万
查看次数

为什么空的 else-if 语句风格不好,我应该如何重写它?

自动对我的代码进行评分的程序正在为不执行任何代码的 else-if 对接我的“样式点”。它说它可能会导致错误,但我认为它不会。

我不确定如何更改它以使其仍然有效但不违反规则。为什么要做这种糟糕的形式?我认为我写的任何其他方式都会让读者更难理解。应该怎么写呢?

if (! seesWater(LEFT))
{
    turn(LEFT);
}
else if (! seesWater(AHEAD));
else if (! seesWater(RIGHT))
{
    turn(RIGHT);
}
else
{
    turn180();
}
Run Code Online (Sandbox Code Playgroud)

else-if 在那里但什么都不做的原因是因为我希望代码执行的优先级:

if (! seesWater(AHEAD)),那么我根本不希望其余条件运行,因为它们无关紧要。

java if-statement

73
推荐指数
10
解决办法
7591
查看次数

三元运算符Java

有没有办法在三元操作中实现这一点.我对那些三元组的东西很新,也许你可以指导我.

if(selection.toLowerCase().equals("produkt"))
     cmdCse.setVisible(true);
else
     cmdCse.setVisible(false);
Run Code Online (Sandbox Code Playgroud)

这个似乎不起作用.

selection.toLowerCase().equals("produkt")?cmdCse.setVisible(true):cmdCse.setVisible(false);
Run Code Online (Sandbox Code Playgroud)

java ternary-operator ternary

13
推荐指数
3
解决办法
3764
查看次数

什么是'?' 在代码中

谁能解释这些代码?为什么它?在那里?

package course.examples.theanswer;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class TheAnswer extends Activity {

public static final int[] answers = { 42, -10, 0, 100, 1000 };
public static final int answer = 42;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.answer_layout);

    TextView answerView = (TextView) findViewById(R.id.answer_view);


    int val = findAnswer();
    String output = (val == answer) ? "42" : "We may never know";
    answerView.setText("The answer to life, the universe and everything is:\n\n"
                    + output);
}

private …
Run Code Online (Sandbox Code Playgroud)

java android ternary-operator

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