toString的两种方法
来源:3-7 循环队列的实现
qq_狗_4
2018-09-18
@Override
public String toString()
{
StringBuilder res=new StringBuilder();
res.append(String.format(“LoopQueue:Size = %d,capacity = %d \n”, size,getCapacity()));
res.append(“front [”);
//两种方法
//以原队列为基准,循环遍历
// int i=front;
// while(i%data.length!=tail)
// {
// res.append(data[i]);
// if((i+1)%data.length!=tail)
// {
// res.append(",");
// }
// i=(i+1)%data.length;
// }
//假设一个新队列,直接遍历
for(int i=0;i<size;i++)
{
res.append(data[i+front]);
if(i!=size-1)
{
res.append(",");
}
}
res.append("] tail");
return res.toString();
}
//自己实验了一下没问题,请老师指正
写回答
2回答
-
你的做法,data[i+front]中的索引i+front有可能数组越界,比如以下的PPT中展示的情况:)
再试试看?加油!:)
022018-09-19 -
qq_狗_4
提问者
2018-09-19
谢谢老师!我没有i+front循环起来!
00
相似问题