我已经使用Java几年了,但直到最近我还没有碰到这个结构:
int count = isHere ? getHereCount(index) : getAwayCount(index);
Run Code Online (Sandbox Code Playgroud)
这可能是一个非常简单的问题,但有人可以解释一下吗?我该怎么看?我很确定我知道它是如何工作的.
isHere是真的,getHereCount()被称为,isHere是假getAwayCount()则调用.正确?这个结构叫做什么?
自动对我的代码进行评分的程序正在为不执行任何代码的 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)),那么我根本不希望其余条件运行,因为它们无关紧要。
有没有办法在三元操作中实现这一点.我对那些三元组的东西很新,也许你可以指导我.
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) 谁能解释这些代码?为什么它?在那里?
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)