Как вы возвращаете несколько значений из цикла for в Java с помощью оператора return? - PullRequest
0 голосов
/ 11 октября 2019

Я хотел бы отправить несколько значений из моего метода getMultiples в мой метод main, используя оператор return, а не операторы print или println.

public class StaticMethods {
   public static void main (String[] args) {     
      int a = 6;
      int b = 9;
      int result = getMultiple(a,b);
      System.out.println(result + "\n")

      System.out.println("The first " + a + " multiples of " + b + " are: ");
      int p = getMultiples(a,b);



   }
   public static int getMultiple(int a,int b) {
      return (int) (a * b);
   }
   public static int getMultiples(int a, int b) {
      int p = 0;
      for (int i = 1; i <= a; i++) {
         p = getMultiple(a,i);
      }
      return (p);
   }   
}

Я попытался поместить оператор return в цикл for, ноэто не работает.

1 Ответ

0 голосов
/ 11 октября 2019

В Java, как только в коде обнаруживается возврат, метод удаляется из стека выполнения и поток возвращается обратно в вызывающий метод. Таким образом, вы не можете вернуть несколько значений из метода. Скорее вы должны создать список / массив и вернуть его, как показано ниже (пример массива):

public class StaticMethods {
   public static void main (String[] args) {     
      int a = 6;
      int b = 9;
      int result = getMultiple(a,b);
      System.out.println(result + "\n");

      System.out.println("The first " + a + " multiples of " + b + " are: ");
      int p[] = getMultiples(a,b);



   }
   public static int getMultiple(int a,int b) {
      return (int) (a * b);
   }
   public static int[] getMultiples(int a, int b) {
      int[] p = new int[a];
      for (int i = 1; i <= a; i++) {
         p[i-1] = getMultiple(a,i);
      }
      return p;
   }   
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...