亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 main 方法中的變量與另一個 Java 方法連接

將 main 方法中的變量與另一個 Java 方法連接

12345678_0001 2023-10-13 15:26:12
如果參數為偶數,則該方法應返回 true,否則返回 false。程序的 main 方法應該使用循環來生成 100 個隨機整數。它應該使用 isEven 方法來確定每個隨機數是偶數還是奇數。這一切都完成了?。?!這是我想不通的部分!循環完成后,程序應顯示生成的偶數個數和奇數個數。這是我的代碼:import java.util.Random;public class EvenOdd{    public static void main(String[] args)    {        Random random = new Random();        int randomInteger = 0;        for(int i = 0; i < 100; i++){            randomInteger = random.nextInt();            System.out.println("Random Integer: " + randomInteger);            EvenOdd(randomInteger);        }    }    public static void EvenOdd(int x)    {        int oddNumbers = 0;        int evenNumbers = 0;        if ((x % 2) == 0)        {            System.out.println("Even");            evenNumbers++;        }        else        {            System.out.println("Odd");            oddNumbers++;        }    }}
查看完整描述

3 回答

?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

嘗試用這個:


public static void main(String[] args)

{


    Random random = new Random();


    int randomInteger = 0;

    int oddNumbers = 0;

    int evenNumbers = 0;


    for(int i = 0; i < 100; i++){

        randomInteger = random.nextInt();

        System.out.println("Random Integer: " + randomInteger);

        if(evenOdd(randomInteger)) evenNumbers++;

        else oddNumbers++;

    }

    System.out.printf("Even numbers: %d - Odd numbers: %d", evenNumbers, oddNumbers);

}


public static boolean evenOdd(int x)

{

    if ((x % 2) == 0)

    {

        System.out.println("Even");

        return true;

    }

    else

    {

        System.out.println("Odd");

        return false;

    }

}

您原來的方法不起作用,因為每次調用該方法時都會將oddNumbers和變量初始化為 0。evenNumbers


查看完整回答
反對 回復 2023-10-13
?
交互式愛情

TA貢獻1712條經驗 獲得超3個贊

Java 不是 JavaScript。而且,它不具備C++“函數中的靜態變量”的能力。

方法內聲明的變量是局部的。每次代碼到達方法內的變量定義時都會發生變量初始化,并在退出方法后被銷毀。

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/variables.html

所以你有這樣的變體:

1) 在主方法中計算數字并從實用程序方法返回指示器。

1.1) 布爾值

public static boolean isEven(int x){

    return (x % 2) == 0;

};

1.2) 枚舉


private enum NumberType {

    EVEN,

    ODD

}


public static NumberType getNumberType (int x) {

    if ((x % 2) == 0) {

        return NumberType.EVEN;

    } else {

        return NumberType.ODD;

    }

};

2)使變量靜態:


public class EvenOdd {


    private static int evenNumbersCount = 0;

    private static int oddNumbersCount = 0;


    public static void main(String[] args) {

        // your code

    }


    public static void countNumberType (int x) {

        if ((x % 2) == 0) {

            ++evenNumbersCount;

        } else {

            ++oddNumbersCount;

        }

    }

}

3)在一些復雜的情況下,您需要將容器傳遞給您的方法:


public class EvenOdd {


    private static final String EVEN = "even";

    private static final String ODD = "odd";


    public static void main(String[] args) {

        // initialize container

        Map<String, Integer> evenOddCounts = new HashMap<>(2, 1);

        evenOddCounts.put(EVEN, 0);

        evenOddCounts.put(ODD, 0);


        Random random = new Random();

        int randomInteger = 0;

        for (int i = 0; i < 100; i++) {

            randomInteger = random.nextInt();

            countNumberType(evenOddCounts, randomInteger);

        }


        System.out.println(evenOddCounts.toString());

    }


    public static void countNumberType(Map<String, Integer> counts, int x) {

        if ((x % 2) == 0) {

            counts.compute(EVEN, (numberType, count) -> ++count);

        } else {

            counts.compute(ODD, (numberType, count) -> ++count);

        }

    }

}


查看完整回答
反對 回復 2023-10-13
?
慕村225694

TA貢獻1880條經驗 獲得超4個贊

將 oddNumbers、evenNumbers 變量定義為靜態類變量,在循環之后您可以打印這 2 個值。



查看完整回答
反對 回復 2023-10-13
  • 3 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號