请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

toString的两种方法

@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回答

liuyubobobo 2018-09-19 00:47:19

你的做法,data[i+front]中的索引i+front有可能数组越界,比如以下的PPT中展示的情况:)

https://img1.sycdn.imooc.com//szimg/5ba12b2b0001fb3806910259.jpg


再试试看?加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_狗_4 #1
    谢谢老师!我没有把i+front循环起来!
    回复 有任何疑惑可以回复我~ 2018-09-19 07:34:44
  • liuyubobobo 回复 提问者 qq_狗_4 #2
    赞!继续加油!:)
    回复 有任何疑惑可以回复我~ 2018-09-19 08:28:43
提问者 qq_狗_4 2018-09-19 07:33:50

谢谢老师!我没有i+front循环起来!

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信