如何实现一个接受整数作为参数的布尔方法?

时间:2015-01-16 23:55:07

标签: java methods boolean

我已经完成了我的研究,但无法找到解决方案。

好的,所以这段代码应该有一个接受整数的方法,并根据评估结果返回true或false。主类包含一个循环,它生成传递给方法的随机数。然后该方法检查数字是负数还是正数并返回结果。对我来说,一切看起来都很正确但是由于我的程序不起作用,所以我必须看到一些东西。任何建议都会很感激。

public class isNegative {

    public static void main(String[] args)  {

        int negatives = 0;
        int positives = 0;
        int number = 0;
        boolean result = false;

        for (int i = 0; i < 99; i++)    {
            Random rand = new Random();
            number = rand.nextInt(201)-100;
            result = isNegative(number);
            if (result == false)    {
                positives += 1;
            } else  {
                negatives += 1;
            }
        }
        //boolean status = false;
        System.out.printf("Number of negatives: %i\n", negatives);
        System.out.printf("Number of positives: %i\n", positives);

    }


    public static boolean isNegative(int test)  {
        if (test <= 0)  {
            return true;
        } else  {
            return false;
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您可以整理您的代码,但它可以广泛地执行您希望它执行的操作

public class IsNegative {
    public static void main(String... args) {
        int negatives = 0, nonNegatives = 0;
        Random rand = new Random();
        for (int i = 0; i <= 99; i++) {
            int number = rand.nextInt(201)-100;
            if (isNegative(number))
                negatives++;
            else
                nonNegatives++;
        }
        System.out.printf("Number of negatives: %d%n", negatives);
        System.out.printf("Number of non-negatives: %d%n", nonNegatives);
    }

    public static boolean isNegative(int test)  {
        return test < 0;
    }
}

注意:0不是负数或正数。

顺便说一句:没有%i,很可能你打算用%d表示小数。

如果您想了解有关如何使用格式化程序的更多信息,建议您阅读Formatter Javadoc

答案 1 :(得分:0)

random.nextInt()只能生成值> = 0 所以如果你想生成-100和+100,你应该使用这样的东西:

Random r = new Random();

public int rand(){
    int num=r.nextInt(10000);
    if(num>5000){
        return r.nextInt(100); 
    }else{
        return -r.nextInt(100);
    }
}

您可以更改并调整获得负数的可能性