关于java的小计算题

cuisi 2007-10-17 10:59:31
从1数到9,数到5就把5去掉,接着数,再数到5就在去掉,最后只剩下一个数,那个数是什么?谁知道这个例子怎么写啊,我写了 一个循环到剩下3个,帮我看看我的错误,或是帮我写个小例子,万分感谢!!下面是我的代码
class er
{
public static void main(String[] args)
{
StringBuffer x=new StringBuffer("123456789");
int index = 0;
for(int i=0;i<=x.length();i++)
{
index++;
if(index==x.length())
index = 0;
if(i==4)
{
x.delete(index-1,index);
i=0;
System.out.println(x);
}
}

}

}
...全文
179 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
llxwj 2007-11-15
  • 打赏
  • 举报
回复
class er
{
public static void main(String[] args)
{
StringBuffer x=new StringBuffer("123456789");
System.out.println(x);
int index=1;
int i=0;
while(x.length()>1)
{
i++;
if(i>=x.length())
i=0;
index++;
if(index==5)
{
x.deleteCharAt(i);
System.out.println(x);
index=1;
}
}
}
}
按照你说的处理“123456789”最后应该是8,我的结果是2,明显我的也错了,就是在到字符串变为“28”时,我的index多加了一次造成的,就把“8”删除而留"2"了,你试的改一下,再贴出来,共同学习。
ywb1973 2007-11-13
  • 打赏
  • 举报
回复
一个串,从第一位开始向后数,如果数到尾就接着从头开始数。每当数到第五个,就删除该位置的字符,后面字符顺序前移一位。这样不停地删,直到字符串长度为1时停止。
这种算法用java写效率太低了,如果用有指针的语言,瞬间就搞定了
huang_weiwei 2007-11-12
  • 打赏
  • 举报
回复
是啊,没看懂题目什么意思,
希望能把题意说清楚点,谢谢.
gibeny 2007-11-08
  • 打赏
  • 举报
回复
楼主说的清楚点好!
tirone010 2007-10-26
  • 打赏
  • 举报
回复
木脑壳。
sunyujia 2007-10-19
  • 打赏
  • 举报
回复
好久不写小算法了脑子都木了
public static void main(String[] args) throws IOException {
List list = new ArrayList();
for (int i = 1; i < 10; i++)
list.add(i);
for (int k = 0, j = 1; list.size() != 1; k++, j++) {// k是list的index保证不越界,每到list最后一位重置零;j是计数器每到5重置.
if (k == list.size())
k = 0;
if (j == 5) {
list.remove(k--);
j = 0;
}
}
System.out.println("假设把5去掉后从6开始数,不够数折回头到1开始数的结果:" + list.get(0));
}
zouzhiqiangzzq 2007-10-19
  • 打赏
  • 举报
回复
直接用两个vector交换付值
最后剩下的就是的了
awusoft 2007-10-17
  • 打赏
  • 举报
回复

import java.util.*;
public class Room
{
public static void main(String args[])
{
ArrayList list = new ArrayList();
for(int i=1;i<10;i++)
{
list.add(i+"");
}
int j=1;int k=0;
while(list.size()>1)
{

if(k>=list.size())
{
k=0;
}
if(j==5)
{
System.out.print(list.get(k)+"-");
list.remove(k);
j=0;
k--;
}
j++;
k++;
}
System.out.println(list.get(0));
}


}
xiyuan1999 2007-10-17
  • 打赏
  • 举报
回复
用面向对象来做

数5退1
manbaum 2007-10-17
  • 打赏
  • 举报
回复
没懂你,第一次数12345,把5去掉,接着又从1开始数,还是从6开始数?不够数了是不是折回头到1开始?

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧