亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java字符串替換排序實例

 更新時間:2014年01月15日 14:45:27   作者:  
這篇文章主要介紹了java字符串替換排序實例,有需要的朋友可以參考一下

復制代碼 代碼如下:

import java.util.LinkedList;

public class OJ {

 public OJ() {
  super();
 }

 /*
  * 功能:輸入一行數(shù)字,如果我們把這行數(shù)字中的'5'都看成空格,那么就得到一行用空格分隔的非負整數(shù)(可能有些整數(shù)以'0'開頭,這些頭部的'0'應該被忽略掉
  * ,除非這個整數(shù)就是由若干個'0'組成的,這時這個整數(shù)就是0)。 對這些非負整數(shù)按從大到小的順序排序。
  *
  * 輸入: input,由0~9數(shù)字組成的字符串。
  * 輸入數(shù)據(jù)要求:無非數(shù)字字符,長度大于0且不大于1000,分隔得到的非負整數(shù)不會大于100000000,輸入數(shù)據(jù)不可能全由'5'組成。
  *
  * 輸出:output,字符串,是分隔得到的非負整數(shù)排序結果(從大到?。?,相鄰整數(shù)間用一個空格分開,第一個整數(shù)前及最后一個整數(shù)后無空格。
  *
  * 返回:正常返回0,若異常失敗返回-1。
  */

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

  if(input.length()<=0 || input.length() > 1000){
   return -1;
  }

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

  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));
    }
}

相關文章

  • 關于@Autowired的使用及注意事項

    關于@Autowired的使用及注意事項

    這篇文章主要介紹了關于@Autowired的使用及注意事項,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • 有關Java中的BeanInfo介紹

    有關Java中的BeanInfo介紹

    Java的BeanInfo在工作中并不怎么用到,我也是在學習spring源碼的時候,發(fā)現(xiàn)SpringBoot啟動時候會設置一個屬叫"spring.beaninfo.ignore",網上一些地方說這個配置的意思是是否跳過java BeanInfo的搜索,但是BeanInfo又是什么呢?本文我們將對此做一個詳細介紹
    2021-09-09
  • MyBatis discriminator標簽原理實例解析

    MyBatis discriminator標簽原理實例解析

    這篇文章主要為大家介紹了MyBatis discriminator標簽實現(xiàn)原理實例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • SpringCloud?Gateway實現(xiàn)請求解密和響應加密的過程解析

    SpringCloud?Gateway實現(xiàn)請求解密和響應加密的過程解析

    這篇文章主要介紹了SpringCloud?Gateway實現(xiàn)請求解密和響應加密的相關知識,本文環(huán)境使用比較新的?Java?17?和?SpringBoot?3.1.5,對應到Spring的版本是?6.0.13,本文重心是網關項目,需要的朋友可以參考下
    2023-11-11
  • Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例

    Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例

    這篇文章主要介紹了Spring Boot 整合 Mybatis Annotation 注解的完整 Web 案例,需要的朋友可以參考下
    2017-05-05
  • Java實戰(zhàn)之超市收銀管理系統(tǒng)的實現(xiàn)

    Java實戰(zhàn)之超市收銀管理系統(tǒng)的實現(xiàn)

    這篇文章主要介紹了如何利用Java實現(xiàn)超市收銀管理系統(tǒng),文中采用的技術有:Spring、SpringMVC、MyBatis、ThymeLeaf等,需要的可以參考一下
    2022-03-03
  • Java中的繼承與接口解讀

    Java中的繼承與接口解讀

    這篇文章主要介紹了Java中的繼承與接口使用,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • Java編程IP地址和數(shù)字相互轉換代碼示例

    Java編程IP地址和數(shù)字相互轉換代碼示例

    這篇文章主要介紹了Java編程IP地址和數(shù)字相互轉換代碼示例,具有一定借鑒價值,需要的朋友可以參考下。
    2017-11-11
  • Spring?Boot接口支持高并發(fā)具體實現(xiàn)代碼

    Spring?Boot接口支持高并發(fā)具體實現(xiàn)代碼

    這篇文章主要給大家介紹了關于Spring?Boot接口支持高并發(fā)具體實現(xiàn)的相關資料,在SpringBoot項目中通常我們沒有處理并發(fā)問題,但是使用項目本身還是支持一定的并發(fā)量,需要的朋友可以參考下
    2023-08-08
  • 圖文詳解mybatis+postgresql平臺搭建步驟

    圖文詳解mybatis+postgresql平臺搭建步驟

    從頭開始搭建一個mybatis+postgresql平臺,這篇文章主要介紹了圖文詳解mybatis+postgresql平臺搭建步驟,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論