在Java中用平方根替換奇數,用平方替換偶數
在Java中,陣列是一個物件。它是一種非基本資料型別,用於儲存相同資料型別的數值。
根據題意,我們需要將給定陣列中的奇數替換為其平方根,將偶數替換為其平方。如果一個數能被2整除,則稱為偶數;否則稱為奇數。
讓我們探索本文,看看如何使用Java程式語言來實現這一點。
展示一些示例
示例1
Suppose the original array is {49, 9, 12, 6, 64, 81, 22}. After finding odd numbers by its square root and all even numbers by its square: Original array is: [7, 3, 144, 36, 4096, 9, 484] Even numbers with their square in the given array are: Even Number | Square 12 -- 144 6 -- 36 64 -- 4096 22 -- 484 Odd numbers with their square root in the given array are: Odd Number | Square root 49 -- 7 9 -- 3 81 -- 9
示例2
Suppose the original array is {51, 19, 22, 61, 4, 8, 32} After finding odd numbers by its square root and all even numbers by its square: Original array is: [7, 4, 484, 7, 16, 64, 1024] (Here we have typecast double value to int value) Even numbers with their square in the given array are: Even Number | Square 22 -- 484.0 4 -- 16.0 8 -- 64.0 32 -- 1024.0 Odd numbers with their square root in the given array are: Odd Number | Square root 51 -- 7.14142842854285 19 -- 4.358898943540674 61 -- 7.810249675906654
演算法
步驟1 − 宣告並初始化一個整數陣列。
步驟2 − 透過“arr[i]%2 == 0”查詢偶數元素,並透過“Math.pow(arr[i],2)”計算其平方。
步驟3 − 透過“arr[i]%2 != 0”查詢奇數元素,並透過“Math.sqrt(arr[i])”計算其平方根。
步驟4 − 列印陣列的元素。
語法
要獲取陣列的長度(陣列中元素的個數),陣列有一個內建屬性length。
以下是其語法:
array.length
其中,'array' 指的是陣列引用。
要獲取一個數的平方根,Java的java.lang包中的Math類有一個內建的sqrt()方法。
以下是使用該方法獲取任何數的平方根的語法:
double squareRoot = Math.sqrt(input_vale)
同樣,要獲取任何數的另一個數次冪,Java有內建的java.lang.Math.pow()方法。
以下是使用該方法獲取2的冪的語法:
double power = Math.pow (inputValue,2)
多種方法
我們提供了多種解決方案。
使用靜態陣列初始化
使用使用者自定義方法
讓我們逐一檢視程式及其輸出。
方法1:使用靜態陣列初始化
在這種方法中,陣列元素將在程式中初始化。然後,根據演算法,將奇數替換為其平方根,將偶數替換為其平方。
示例
import java.util.*; public class Main { public static void main(String args[]) { //Declare and initialize the array elements int[] arr = { 49, 9, 12, 6, 64, 81, 22 }; //printing original array System.out.println("Original array is: " + Arrays.toString(arr)); //Iterating the array elemnts one by one and replacing //Odd numbers with their square root //Even numbers with their square for (int i=0; i<arr.length; i++){ //check for even element if(arr[i]%2 == 0) { //printing even array elements with their square arr[i] = (int)Math.pow(arr[i],2); } else { arr[i] = (int)Math.sqrt(arr[i]); } } System.out.println("Updated array is: "+ Arrays.toString(arr)); } }
輸出
Original array is: [49, 9, 12, 6, 64, 81, 22] Updated array is: [7, 3, 144, 36, 4096, 9, 484]
方法2:使用使用者自定義方法
在這種方法中,陣列元素將在程式中初始化。然後,透過將陣列作為引數呼叫使用者自定義方法,並在方法內部根據演算法將奇數替換為其平方根,將偶數替換為其平方。
示例
import java.util.*; public class Main { public static void main(String args[]) { //Declare and initialize the array elements int[] arr = { 49, 9, 12, 6, 64, 81, 22 }; //calling the user defined method replace(arr); } //user defined method public static void replace(int []arr) { //printing original array System.out.println("Original array is: " + Arrays.toString(arr)); //Iterating the array elemnts one by one and replacing //Odd numbers with their square root //Even numbers with their square for (int i=0; i<arr.length; i++) { //check for even element if(arr[i]%2 == 0) { //printing even array elements with their square arr[i] = (int)Math.pow(arr[i],2); } else { arr[i] = (int)Math.sqrt(arr[i]); } } System.out.println("Updated array is: "+ Arrays.toString(arr)); } }
輸出
Original array is: [49, 9, 12, 6, 64, 81, 22] Updated array is: [7, 3, 144, 36, 4096, 9, 484]
在本文中,我們探討了使用Java程式語言在陣列中將奇數替換為其平方根,將偶數替換為其平方的不同方法。
廣告