返回字符串数组 import java.util.Random; 导入java.util.Scanner; 公共类阵列帮助器{ 公共静态void main(字符串[]args){ 字符串arr[]={“M3”、“M4”、“M5”、“M6”、“X5M”、“M750Li”}; 字符串stockElements[]={“BMW M2轿跑车”、“BMW M3轿车”、“BMW M4轿跑车”、“BMW M5轿车”、“BMW M6大轿跑车”、“BMW X5 M”、“BMW X6 M”、“M 750Li”}; int size=7; 打印阵列数量(arr); System.out.println(getRandomElement(arr)); System.out.println(getRandomArray(size,stockElements)); } 公共静态无效打印阵列数量(字符串[]arr){ int num[]={2,1,3,3,5,1}; for(int i=0;i

返回字符串数组 import java.util.Random; 导入java.util.Scanner; 公共类阵列帮助器{ 公共静态void main(字符串[]args){ 字符串arr[]={“M3”、“M4”、“M5”、“M6”、“X5M”、“M750Li”}; 字符串stockElements[]={“BMW M2轿跑车”、“BMW M3轿车”、“BMW M4轿跑车”、“BMW M5轿车”、“BMW M6大轿跑车”、“BMW X5 M”、“BMW X6 M”、“M 750Li”}; int size=7; 打印阵列数量(arr); System.out.println(getRandomElement(arr)); System.out.println(getRandomArray(size,stockElements)); } 公共静态无效打印阵列数量(字符串[]arr){ int num[]={2,1,3,3,5,1}; for(int i=0;i,java,arrays,string,Java,Arrays,String,因此,我试图返回一个数组,该数组已随机插入stockElements方法中的元素。当我试图从第12行(System.out.println(getRandomArray(size,stockElements));)打印该数组时,它会生成[Ljava.lang.String;@6d06d69c作为输出。我知道.toString()方法,但我的作业要求我不使用任何内置数组方法。我该如何具体执行此操作?一个简单的解决方案就是对每个循环使用进行迭代 import java.util.Random; im

因此,我试图返回一个数组,该数组已随机插入
stockElements
方法中的元素。当我试图从第12行(
System.out.println(getRandomArray(size,stockElements));
)打印该数组时,它会生成
[Ljava.lang.String;@6d06d69c
作为输出。我知道
.toString()
方法,但我的作业要求我不使用任何内置数组方法。我该如何具体执行此操作?

一个简单的解决方案就是对每个循环使用
进行迭代

import java.util.Random;
import java.util.Scanner;


public class ArrayHelpers{
    public static void main(String[] args){

      String arr[] = {"M3", "M4", "M5", "M6", "X5M", "M750Li"};
      String stockElements[] = {"BMW M2 Coupé","BMW M3 Sedan", "BMW M4 Coupé", "BMW M5 Sedan","BMW M6 Gran Coupé", "BMW X5 M", "BMW X6 M", "M 750Li"};   
      int size = 7;
      printArrayQuantities(arr);
      System.out.println(getRandomElement(arr));
      System.out.println(getRandomArray(size, stockElements));
   }

   public static void printArrayQuantities(String[] arr){
      int num[] = {2, 1, 3, 3, 5, 1};

      for( int i = 0; i < num.length; i++){
         System.out.println(arr[i] + " " + num[i]);

      }



   }


   public static String getRandomElement(String[] arr){
      int randomNum = 0 + (int)(Math.random() * 6);
      return arr[randomNum];


   }

   public static String[] getRandomArray(int size, String[] stockElements){
      String[] randArray = new String[size];
      for( int i = 0; i < size; i++){

         randArray[i] = getRandomElement(stockElements);

      }
      return randArray;
   }








}
如果您愿意,也可以使用
for loop

String[] myArray = getRandomArray(size, stockElements); // this stores a reference of the returned array.
for(String str : myArray){
    System.out.println(str);
}
String[]myArray=getRandomArray(size,stockElements);//存储返回数组的引用。
for(int i=0;i
由于函数返回数组,当您尝试打印数组时,您应该使用for/while循环遍历每个元素并分别打印它们。由于您尝试打印数组变量,因此它会打印它的java句柄。因此,请尝试类似的方法

String[] myArray = getRandomArray(size, stockElements); // this stores a reference of the returned array.
for(int i = 0; i < myArray.length; i++){
    System.out.println(myArray[i]);
}

您已经返回了数组,只需分配它:

String[] randomArray = getRandomArray(size, stockElements);
for (String s : randomArray) {
    System.out.println(s);
}
但是…如果你想直接打印出来,请按照下面的步骤

使用Java 8:

String[] newArray = getRandomArray(size, stockElements);
或者(对于较旧的Java):


System.out.println(getRandomArray(大小,stockElements));
替换为
String[]output=getRandomArray(大小,stockElements);

打印阵列数量(输出);

您尝试打印整个数组,尝试迭代元素并分别打印每个元素。是否尝试打印数组的元素?@opensam在其核心,是的。问题是我需要返回它,而不仅仅是打印。它是返回的。这存储了对返回数组-->字符串[]的引用myArray=getRandomArray(大小,stockElements)哦,我知道你现在在做什么了。还在学习数组,所以有点难confusing@JodhanveerGhangheri没问题。这是你想要完成的吗?
String.join(delimiter, newArray);
StringBuilder builder = new StringBuilder();
for(String s : newArray) {
    builder.append(s);
    builder.append(delimeter);
}
return builder.toString();