标签: if-statement

奇怪的 if 语句即使不满足条件也总是运行

我对 if 语句有一个奇怪的问题。我正在检查布尔值是否为真,如果它是必须运行的 if 语句。我在很多地方 System.out.println 布尔值的值,它总是假的,但 if 语句仍然运行。有什么帮助吗?

    import java.util.ArrayList;

public class GameLoop extends Thread {
private Boolean running;
private ArrayList<Meteor> meteorArrayList;
private Boolean win;
private GameScreen gameScreen;

public GameLoop(GameScreen gameScreen, ArrayList<Meteor> meteorArrayList)
{
    setMeteorArrayList(meteorArrayList);
    setGameScreen(gameScreen);
    setRunning(true);
    setWin(false);
}

@Override
public void run()
{
    while (running)
    {
        if(checkWin());
        {
            System.out.println(checkWin());
            gameScreen.winGame();
        }
    }
}

public Boolean checkWin()
{
    if(getMeteorArrayList().isEmpty())
    {
        setWin(true);
    }
    else
    {
        setWin(false);
    }
    System.out.println(getWin());
    return getWin();
}

public void cancel()
{
    interrupt();
}

//======================GETTER EN SETTERS============================= …
Run Code Online (Sandbox Code Playgroud)

java android if-statement

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

对象上的C#感叹号运算符

在C#中,以下代码片段做了什么?

1)

if (!object)
{
  //code
}
Run Code Online (Sandbox Code Playgroud)

2)

if (object)
{
  //code
}
Run Code Online (Sandbox Code Playgroud)

object是一个类的实例,绝对不是bool.

1)在Java中,尝试上面的代码会使编译器发出错误.只有布尔变量可以用作Condition_Block.这按预期工作.

2)在C++中,if (!object){/**/}用于空检查.

3)在C#中,编译器不发出错误并愉快地编译它.谷歌从未提及过!操作员用于对象.它只给出bool值的搜索结果.再加上侮辱伤害,它会让人们谈论的结果?和?? 运营商,这些运营对于团结开发者来说可能有30到40年的时间.仅支持NET3.5 API.如果!运算符在C++中工作,为什么人们需要?和?? ??

编辑:完整代码.

using UnityEngine;
using System.Collections;

public class Foo : MonoBehaviour
{
    void Start ()
    {
        Foo a = new Foo();
        if (a)  Debug.Log("a");
        if (!a) Debug.Log("b");
    }
 }
Run Code Online (Sandbox Code Playgroud)

它在执行时打印"b".

c# if-statement conditional-statements

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

没有 else 子句的单行 If 条件

我们如何在运算符中编写没有 else 的单行 If 条件?

例子:

如果(计数== 0){计数= 2; }

我们怎么能像下面这样写:

计数=计数==0?2;

由于三元运算符需要 if else 条件。我想在没有 ternery 运算符的情况下做到这一点。C#中是否有可用的运算符?

谢谢。

c# conditional if-statement conditional-operator assignment-operator

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

==与Python中的运算符相对

我对python中的比较运算符有疑问.我想知道这是对还是错.

我有一些分配给变量的输出.所以我们说:

result1, result2, result3
Run Code Online (Sandbox Code Playgroud)

现在我做一个比较

if result1 == 0 and result2 == 0 and result3 == 0: 
    print "Success "
else:
    print "failure"
Run Code Online (Sandbox Code Playgroud)

我怀疑这种比较可以用这种格式进行

if 0 in (result1 , result2 ,result3):
    print "Success"
else :
    print "failure"
Run Code Online (Sandbox Code Playgroud)

这是正确使用Python吗?如果没有,那是什么原因?

python if-statement equals

-8
推荐指数
2
解决办法
359
查看次数

是否可以将代码分成两个类文件?

我有一个项目,其中我想实现大约6000 else if语句,但问题是我在我的类文件中收到错误.

这里有一些错误的截图我得到错误1 http://pho.to/4I2Zh

错误2 http://pho.to/4I2c8

有没有办法在两个类中拆分或分割我的else-if语句?或者从xml文件中调用它们?

这是我的班级文件

 public class WebViewActivity extends Activity {
    WebView web;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web_view);
        web = (WebView) findViewById(R.id.webView1);
        web.setWebViewClient(new myWebClient());
        web.getSettings().setJavaScriptEnabled(true);
        int pos = getIntent().getIntExtra("key",0);
        if(pos==0)
        {
        web.loadUrl("file:///android_asset/1work1.html");
        }
        else if(pos==1)
        {
        web.loadUrl("file:///android_asset/work1.html");
        }  
        else if(pos==2)
        {
        web.loadUrl("file:///android_asset/work2.html");
        } 
        else if(pos==3)
        {
        web.loadUrl("file:///android_asset/work3.html");
        }  
      // similarly for 4 and 5 and so on.
    }

    public class myWebClient extends WebViewClient
    {
        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) …
Run Code Online (Sandbox Code Playgroud)

android if-statement

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

如果声明不起作用的话

我只是想问为什么我的"IF"声明现在不能正常工作,早些时候工作正常,我刚刚为iPad制作了一个版本,然后它再也无法工作了.这是我的if语句.

- (void)textFieldDidChanges{

    if ([self.feet1.text isEqualToString:@"0"])
        self.feet1.backgroundColor = [UIColor grayColor];


    if([self.feet2.text isEqualToString:@"0"])
        self.feet2.backgroundColor = [UIColor grayColor];

    if([self.feet3.text isEqualToString:@"0"])
        self.feet3.backgroundColor = [UIColor grayColor];

    if([self.feet4.text isEqualToString:@"0"])
        self.feet4.backgroundColor = [UIColor grayColor];

    if([self.feet5.text isEqualToString:@"0"])
        self.feet5.backgroundColor = [UIColor grayColor];

    if([self.feet6.text isEqualToString:@"0"])
        self.feet6.backgroundColor = [UIColor grayColor];

    if([self.feet7.text isEqualToString:@"0"])
        self.feet7.backgroundColor = [UIColor grayColor];

    if([self.feet8.text isEqualToString:@"0"])
        self.feet8.backgroundColor = [UIColor grayColor];

    if([self.feet9.text isEqualToString:@"0"])
        self.feet9.backgroundColor = [UIColor grayColor];

    if([self.feet10.text isEqualToString:@"0"])
        self.feet10.backgroundColor = [UIColor grayColor];

    if([self.feet11.text isEqualToString:@"0"])
        self.feet11.backgroundColor = [UIColor grayColor];

    if([self.feet12.text isEqualToString:@"0"])
        self.feet12.backgroundColor = [UIColor grayColor];

    if([self.feet13.text isEqualToString:@"0"])
        self.feet13.backgroundColor = …
Run Code Online (Sandbox Code Playgroud)

if-statement objective-c ios

-8
推荐指数
2
解决办法
382
查看次数

如果在Scala中返回则出错

def vertify(a:Int):Int= {
    val result = 3
    if(a>4) {
        val result = a
    }
    return result
}
Run Code Online (Sandbox Code Playgroud)

我定义了上面的函数,然后使用它:

scala> vertify(5)
res4: Int = 3
Run Code Online (Sandbox Code Playgroud)

为什么结果3而不是5?

if-statement scala return

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

Python第二个"if语句"否定了第一个

如果我有两个if语句后跟一个else,那么第一个语句基本上被忽略了:

x = 3
if x == 3:
    test = 'True'
if x == 5:
    test = 'False'
else:
    test = 'Inconclusive'

print(test) 
Run Code Online (Sandbox Code Playgroud)

返回:

Inconclusive
Run Code Online (Sandbox Code Playgroud)

在我看来,因为第一个if语句是True,所以结果应该是"True".为了使其发生,必须将第二个if语句更改为"elif".有谁知道为什么?

python if-statement

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

不理解输出

我的代码:

num = 5
if num > 2:  
    print(num)
    num -= 1
print(num)
Run Code Online (Sandbox Code Playgroud)

预期产量:

5,4,3,2
Run Code Online (Sandbox Code Playgroud)

实际产量:

5,4
Run Code Online (Sandbox Code Playgroud)

问题:为什么我会收到实际输出而不是预期输出?

python loops if-statement

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

if语句的这种用法是否会导致未定义的行为?

我想知道条件语句(例如if语句)的正确用法,以避免未定义的行为。让我们从一个例子开始:

uint8_t x = 0;
bool y = false;
bool z = false;

if ((x == 135) and !y and !z) {
    //do something
}
else if ((x == 135) and y) {
    x = 5;
    z = true;   
}
else if ((x == 5) and z) {
    x = 135;
    z = false;
}
else {
    //do something
}
Run Code Online (Sandbox Code Playgroud)

现在,是否通过不将所有3个变量都包含在每个条件中来获得不确定的行为?是否将所有未说明的条件都放入else语句中?如果是这样,如果我放弃else语句会怎样?我有完全相同的if语句(在更复杂的情况下),而且我似乎每次都不会进入正确的语句。

如果有此规定,请赐教。

c++ conditional if-statement undefined-behavior language-lawyer

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