Java - 与if语句卡住并混淆

时间:2017-03-23 05:48:04

标签: java if-statement numbers

我有点卡住了。我希望我的程序接受0和非0数字,但如果非0数字高于或低于某个整数,它将无法工作。希望这是有道理的。

以下是我所拥有的:

    if (pos != 0 || pos == 0)
    {

        System.out.println ("\nLength of int: " + len);
        System.out.println ("Position from right: " + pos);
        System.out.println ("Number selected: " + String.valueOf (nums).charAt (s));

    }

    else if (pos < len || pos > len)
    {
        System.out.println ("\n0");

    }

如果有人想查看完整代码,请点击此处:http://pastebin.com/bFVYNhvr

感谢任何帮助

1 个答案:

答案 0 :(得分:2)

改变你的逻辑

if (pos < len || pos > len)
{
    System.out.println ("\n0");
}
else 
{
    System.out.println ("\nLength of int: " + len);
    System.out.println ("Position from right: " + pos);
    System.out.println ("Number selected: " + String.valueOf (nums).charAt (s));
}

正如@Vinod提到的那样

if (pos < len || pos > len)

可以更好地写成

if (pos != len)

如果这确实是你的意图