Java 添加到循环中的字符串
我创建了一个返回字符串的方法。我正在尝试允许字符串通过for循环展开,如下所示: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(
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))
这将返回arrayans
,如果要打印数组,您可以这样做
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返回的数组,该数组无法正确连接到输出字符串。您应该以某种方式将该数组处理为字符串