当前位置:  编程技术>java/j2ee

java字符串替换排序实例

    来源: 互联网  发布时间:2014-10-31

    本文导语:  代码如下:import java.util.LinkedList; public class OJ {  public OJ() {  super(); }  /*  * 功能:输入一行数字,如果我们把这行数字中的'5'都看成空格,那么就得到一行用空格分隔的非负整数(可能有些整数以'0'开头,这些头部的'0'应该被...

代码如下:

import java.util.LinkedList;

public class OJ {

 public OJ() {
  super();
 }

 /*
  * 功能:输入一行数字,如果我们把这行数字中的'5'都看成空格,那么就得到一行用空格分隔的非负整数(可能有些整数以'0'开头,这些头部的'0'应该被忽略掉
  * ,除非这个整数就是由若干个'0'组成的,这时这个整数就是0)。 对这些非负整数按从大到小的顺序排序。
  *
  * 输入: input,由0~9数字组成的字符串。
  * 输入数据要求:无非数字字符,长度大于0且不大于1000,分隔得到的非负整数不会大于100000000,输入数据不可能全由'5'组成。
  *
  * 输出:output,字符串,是分隔得到的非负整数排序结果(从大到小),相邻整数间用一个空格分开,第一个整数前及最后一个整数后无空格。
  *
  * 返回:正常返回0,若异常失败返回-1。
  */

 public static int getSortNum(final String input, final StringBuilder output) {

  if(input.length() 1000){
   return -1;
  }

  String[] nums = input.split("5");
  int len = nums.length;
  LinkedList sorted = new LinkedList();

  int j = 0;
  for (int i = 0; i < len; i++) {
   int temp = 0;
   int k = j;
   if (!nums[i].equals("")) {
    try {
     temp = Integer.valueOf(nums[i]);
     if(temp > 100000000){
      return -1;
     }
     if (sorted.isEmpty()) {
      sorted.addFirst(temp);
      j++;
     } else {

      while (k > 0 && (temp > sorted.get(k - 1))) {
       k--;
      }
      sorted.add(k, temp);
      j++;
     }
    } catch (Exception ex) {
     return -1;
    }
   }
  }
  for (int i = 0; i < sorted.size() - 1; i++) {

   output.append(sorted.get(i) + " ");

  }
  output.append(sorted.getLast());
  output.trimToSize();

  return 0;
 }
}       

测试用例:

代码如下:

import junit.framework.Assert;
import junit.framework.TestCase;


public class OJTest extends TestCase
{

    public void testCase01()
    {
        // 这里写测试用例
        final StringBuilder output = new StringBuilder();
        Assert.assertTrue(-1 == OJ.getSortNum("1234543 215555", output));
    }

   
    public void testCase02()
    {
        final StringBuilder output = new StringBuilder();
        Assert.assertTrue(0 == OJ.getSortNum("1234543215555", output) && "4321 1234".equals(output.toString()));
    }

    public void testCase03()
    {
        final StringBuilder output = new StringBuilder();
        Assert.assertTrue(0 == OJ.getSortNum("12345432155556436567", output) && "6436 4321 1234 67".equals(output.toString()));
    }

    public void testCase04()
    {
        final StringBuilder output = new StringBuilder();
        Assert.assertTrue(0 == OJ.getSortNum("123454321555000000000056436567", output) && "6436 4321 1234 67 0".equals(output.toString()));
    }

    public void testCase05()
    {
        final StringBuilder output = new StringBuilder();
        Assert.assertTrue(-1 == OJ.getSortNum("1234543215510000000000000001556436567", output));
    }
}


    
 
 

您可能感兴趣的文章:

  • java实现判断字符串是否全是数字的四种方法代码举例
  • Java中关于字符串字符数目的问题
  • java字符串比较获取字符串出现次数的示例
  • 在JAVA中如何实现在一个长字符串查找某个字符串??
  • 我使用corba将Java和C程序连接起来,由Java向C传递一个字符串,但是我发现我原来的0a被换成了0d 0a,那位给各解释。
  • 用Java正则去掉字符串中重复出现的字符
  • java实现压缩字符串和java字符串过滤
  • java 字符串有沒有 像 javascript 中 split() 的方法.
  • 如何从java字符串中判断空格在第几位
  • java把字符串写入文件里的简单方法分享
  • java中如何将数字转化为字符串并且不足位数补0
  • 如可在java程序中产生一个几乎永不重复的字符串?
  • 使用java如何分析系统不能识别的字符串?
  • 菜鸟问题:在Java中如何接收从键盘输入的字符串?
  • 请问JAVA中怎样去掉字符串后面的空格,谢谢!!!
  • JAVA求字符串的子串,谢谢!
  • 在java/jsp里怎样判断一个yyyymmdd格式的字符串是合法的日期型字符串,并求两日期字符串之间的天数?
  • 请问在Java里有没有 运算一个字符串的方法? 如vbscript的 eval("3+5*2") = 13
  • java中一个逻辑判断字符串 (1&&0)如何转变成boolean值?
  • java字符串的合并
  • Java判断字符串为空、字符串是否为数字
  • VBScript中FormatNumber(expression ,0,-1)是什么功能?用java怎么替换?
  • 关于jre命令替换为java
  • 请问‘回车’在java中如何表示?如何替换?
  • Java中替换HTML标签的方法代码
  • Java 替换字符串中的回车换行符的方法
  • 请问Java中的替换函数
  • Java中字符串替换的函数是什么?急用!!!!!!
  • 各位高手:java中查找字符串并替换用什么方法?
  • Java正则多字符串匹配替换
  • java实现查找文本内容替换功能示例
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java中如何将ascII 码转换成字符以及将字符转换成ascII码? 在线等待加分!
  • java中对字符串每个字符统计的方法
  • java判断日期字符是否有效(在线等待答案)
  • 如何在java中将任意字符转化为数字
  • 我的问题是:在java中是否有方法能够去掉一行字符串中的某个字符。
  • java中的转义字符介绍
  • Java String字符串和Unicode字符相互转换代码
  • 16进制值为0D的字符在java里怎么写?
  • 菜鸟问题:java如何进行字符处理?
  • 请问java如何判断中文字和字符,有没有这样的类或方法...
  • 如何在java中获取dll中的字符串或者字符数组(通过jni)?
  • 在Java中如何取得一个字符的ASCII码值?
  • java字符如何得到它的ASCII值?
  • 中文字符问题,用java连sybase(在线等待。。)
  • java用的是unicode, c 用的哪种字符编码?
  • Java中去除字符串中所有空格的几种方法
  • Java中统计字符个数以及反序非相同字符的方法详解
  • java 里怎样判断一个字符串为空?
  • socket中,从client端(用java编写的)传到server端(用c编写的)的字符串为何总多一个ASCII码为10的字符呀?
  • Java是否有能够将经过quoted-printable编码的字符序列转换为原文的函数?
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3