Java neatbalsta vairākas atgriešanas vērtības. Tomēr dažreiz ir jāatgriež vairākas vērtības. Šim nolūkam mēs varam izmantot šādus risinājumus.
1. gadījums: ja visas atgrieztās vērtības ir vienādas
Ja visas vērtības, kas jāatgriež, ir vienādas, mēs varam izmantot masīvu. Piemēram, ir doti divi skaitļi, un šiem skaitļiem ir jāveic saskaitīšana, atņemšana, reizināšana un dalīšana. Šādā gadījumā mēs varam izmantot masīvu. Ievērojiet tālāk norādīto programmu.
java Būla
Faila nosaukums: ReturnMultipleValues.java
public class ReturnMultipleValues { // a method that performs basic arithmetic // operations (+, - , *, /) on number a and b public int[] performBasicArithOp(int a, int b) { int add = a + b; int substract = a - b; int multiply = a * b; int divide = a / b; int ans[] = new int[4]; ans[0] = add; ans[1] = substract; ans[2] = multiply; ans[3] = divide; return ans; } // main method public static void main(String[] argvs) { // creating an object of the class ReturnMultipleValues ReturnMultipleValues obj = new ReturnMultipleValues(); // input 1 int n1 = 6; int n2 = 3; int ans[] = obj.performBasicArithOp(n1, n2); System.out.println('The sum of numbers ' + n1 + ' and ' + n2 + ' is: ' + ans[0]); System.out.println('The difference of numbers ' + n1 + ' and ' + n2 + ' is: ' + ans[1]); System.out.println('The multiplication of numbers ' + n1 + ' and ' + n2 + ' is: ' + ans[2]); System.out.println('The division of numbers ' + n1 + ' and ' + n2 + ' is: ' + ans[3]); } }
Izvade:
The sum of numbers 6 and 3 is: 9 The difference of numbers 6 and 3 is: 3 The multiplication of numbers 6 and 3 is: 18 The division of numbers 6 and 3 is: 2
Sarežģītības analīze: Tā kā programma elementu summas aprēķināšanai izmanto for-cilpu, programmas laika sarežģītība ir O(n), kur n ir kopējais masīvā esošo elementu skaits. Programmas telpas sarežģītība ir nemainīga, t.i., O(1).
2. gadījums: ja mums ir jāatgriež divas dažāda veida vērtības
Ja mums ir divas dažādu veidu vērtības, mēs varam izmantot Pair.
Faila nosaukums: ReturnMultipleValues1.java
// creating our own Pair Class class Pair { private final X k; private final Y v; public Pair(X k, Y v) { this.k = k; this.v = v; } public X retrieveKey() { return this.k; } public Y retrieveVal() { return this.v; } } public class ReturnMultipleValues1 { // the foo() method returns two values and // that too of different types public Pair foo() { return new Pair('JavaTpoint', 100); } // main method public static void main(String[] argvs) { // creating an object of the class ReturnMultipleValues1 ReturnMultipleValues1 obj = new ReturnMultipleValues1(); Pair p = obj.foo(); System.out.println(p.retrieveKey() + ' ' + p.retrieveVal()); } }
Izvade:
JavaTpoint 100
3. gadījums: ja mums ir jāatgriež vairāk dažādu veidu vērtību
Tādā gadījumā mēs varam izmantot klasi. Ievērojiet tālāk norādīto programmu.
mac operētājsistēmas
Faila nosaukums: AritmētikaOperācija.java
class ArithmeticOperation { int m; // for storing multiplication double d; // for storing division int a; // for storing addition String s; // constructor of the class ArithmeticOperation(int mul, double div, int add, String str) { m = mul; d = div; a = add; s = str; } } public class ReturnMultipleValues2 { public ArithmeticOperation getMultDivAdd(int n1, int n2) { // creating and returning object of ArithmeticOperation that contains multiple values return new ArithmeticOperation(n1 * n2, (double)n1 / n2, n1 + n2, 'Performing Arithmetic Operation'); } // main method public static void main(String[] argvs) { int n1 = 29; int n2 = 20; // creating an object of the class ArithmeticOperation ArithmeticOperation obj = (new ReturnMultipleValues2()).getMultDivAdd(n1, n2); System.out.println('Statement: ' + obj.s); System.out.println('The Multiplication of the numbers ' + n1 + ' and ' + n2 + ' is: ' + obj.m); System.out.println('The Division of the numbers ' + n1 + ' and ' + n2 + ' is: ' + obj.d); System.out.println('The Addition of the numbers ' + n1 + ' and ' + n2 + ' is: ' + obj.a); } }
Izvade:
Statement: Performing Arithmetic Operation The Multiplication of the numbers 29 and 20 is: 580 The Division of the numbers 29 and 20 is: 1.45 The Addition of the numbers 29 and 20 is: 49