Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 添加到循环中的字符串_Java_String_Loops_Methods - Fatal编程技术网

Java 添加到循环中的字符串

Java 添加到循环中的字符串,java,string,loops,methods,Java,String,Loops,Methods,我创建了一个返回字符串的方法。我正在尝试允许字符串通过for循环展开,如下所示: public static String averageFood(){ String average = ""; String temp = ""; for (int i = 0; i < n1; i++){ temp = myGerbils[i].name + " (" + (myGerbils[i].getLabID())+ ") " + (percentFood(

我创建了一个返回字符串的方法。我正在尝试允许字符串通过for循环展开,如下所示:

public static String averageFood(){
    String average = "";
    String temp = "";
    for (int i = 0; i < n1; i++){
        temp = myGerbils[i].name + " (" + (myGerbils[i].getLabID())+ ") " + (percentFood(i)) + "%" + "\n";
        average = temp + average;
    }
    return average;
}
public静态字符串averageFood(){
字符串平均数=”;
字符串temp=“”;
对于(int i=0;i
它调用字符串中的另一个方法。当我运行它时,它会运行良好,直到它达到percentFood方法;然后,我得到一个错误,看起来像“[I@6158dd66“。percentFood方法如下所示:

public static int[] percentFood(int i){
    int temp;
    int temp2;
    int[] ans = new int[n1];
    for (int j = 0; j < n1; j++){
        temp = myGerbils[i].getFoodCon(j);
        temp2 = gerbilFood[j].getMaxAm();
        ans[j] = (temp/temp2);
    }
    return ans;
}
公共静态int[]百分比食品(int i){
内部温度;
int temp2;
int[]ans=新的int[n1];
对于(int j=0;j

有什么想法吗?谢谢!

percentFood
返回一个完整的数组,但是在您的代码中,您调用的是
percentFood(i)
-这将返回一个完整的数组,由于数组是一个对象,您看到的错误实际上是存储该对象的内存空间

您需要首先获取数组,然后遍历它

[I@6158dd66  
这不是错误,您正在打印的对象引用不是它的值

 (percentFood(i)) 
这将返回array
ans
,如果要打印数组,您可以这样做

Arrays.toString(ans);
int arr[]=(percentFood(i));

for(int j:arr)
{
//concat or total
}
或者,如果要按数组元素创建
字符串
总计
,可以这样做

Arrays.toString(ans);
int arr[]=(percentFood(i));

for(int j:arr)
{
//concat or total
}

不需要,但请看percentFood返回的数组,该数组无法正确连接到输出字符串。您应该以某种方式将该数组处理为字符串