| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1517 人关注过本帖
标题:[讨论]我这个是哪里越界了
只看楼主 加入收藏
wxhwjsw
Rank: 1
等 级:新手上路
帖 子:274
专家分:0
注 册:2006-6-15
收藏
得分:0 

我把我的代码帖上来  这个是我测试过N次 没有BUG的:
import java.io.*;
import java.util.*;

public class ShuXueTI {
public static void main( String[] args ) throws IOException {
BufferedReader bfr = new BufferedReader( new InputStreamReader( System.in ));
System.out.println( "请输入一个整数" );
String str = bfr.readLine();
int size = str.length(); //你输入的数的长度
System.out.println( "请输入你要删除的位数" );
int desize = Integer.parseInt( bfr.readLine());
while( desize >= str.length() ) {
System.out.println( "删除的位数必数小于数的长度,请重新输入" );
desize = Integer.parseInt( bfr.readLine());
}
String result = "";
List vec = new ArrayList();//声明一个容器.困为他有min方法
while( desize != 0 ) {
for( int i = 0; i <= desize; i++ ) {
vec.add( i, String.valueOf( str.charAt(i)) );//替换原来的成员,不然是加到后面
}
vec = vec.subList( 0, desize+1 );//去掉后面的成员
result += Collections.min(vec);
int a = str.indexOf( Collections.min(vec).toString() );//取得刚才得到的数的位置
desize -= a ;//已经去掉了几位,还有几位
if( a != str.length() -1 ) {
str = str.substring( a + 1 );
}
else {
str = "";//如果是取到最后一位,就没有了
break;
}
if( result.length() == size - desize )
break;
}
if( result.length() != size - desize )
result += str;//不好解释要自已去理解
System.out.println( result );
}
}

[此贴子已经被作者于2006-8-25 16:22:45编辑过]


一个人的快乐,不是因为他拥有的多,而是因为他计较的少.
2006-08-25 16:21
xxxxx52
Rank: 4
等 级:贵宾
威 望:13
帖 子:689
专家分:0
注 册:2006-4-30
收藏
得分:0 
学习学习~

好的资料下载网站http:///in.asp?id=xuelion2006 嘿嘿帮点一下拉~
2006-08-28 15:00
快速回复:[讨论]我这个是哪里越界了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024898 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved