输入字符串取出字符串中的连续数字放入单独数组

public class ShowsNum {
    public Map getNums(String str){
        HashMap<Integer,String> map=new HashMap<Integer,String>();
        char [] chnum=str.toCharArray();
        StringBuffer strbuffer=new StringBuffer();
        int des=1;
        for(int i=0;i<chnum.length;i++){
            //当前字符是数字
            if(chnum[i]-‘0‘>=0&&chnum[i]-‘0‘<=9){
                strbuffer.append(chnum[i]);
                //判断下一个字符不是数字
                //判断;临界点
                if((i+1)==chnum.length){
                    map.put(des, new String(strbuffer));
                    break;
                }
                if(!(chnum[i+1]-‘0‘>=0&&chnum[i+1]-‘0‘<=9)){
                    map.put(des, new String(strbuffer));
                    des++;
                    strbuffer=strbuffer.delete(0,strbuffer.length());
                }
            }
        }
        return map;
    }
}

输入字符串取出字符串中的连续数字放入单独数组

时间: 2024-10-12 20:58:23

输入字符串取出字符串中的连续数字放入单独数组的相关文章

【源码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)

帮朋友做的,好像是一个面试题.如果仅仅是考察递归的话,应该是够了,程序的健壮性和通用性都很一般的说-- #include <stdio.h> #include <stdlib.h> int count = 0; void myRevert(int n, int a[]) { if(n < 10) { a[count++] = n; } else { a[count++] = n % 10; myRevert(n / 10, a); } } int main() { int n

将一整数逆序后放入一数组中

1.题目描述 将一整数逆序后放入一数组中(非递归实现) 例如: 1234 变为 {4,3,2,1} 2.代码实现 1 package com.wcy.october; 2 3 /** 4 * 时间:2016年10月23日 5 * 题目:将一整数逆序后放入一数组中(非递归实现) 例如: 1234 变为 {4,3,2,1} 6 */ 7 public class RecursionTest2 { 8 9 /** 10 * 将一整数逆序后放入一数组中 11 * @param number 待逆序的整数

//去除list中的重复元素放入到 hashset中,l是 arrayList

HashSet<String> hs = new HashSet<String>(l); //给arrayList 或 数组 或 hashSet 拼接成字符串 String str= StringUtils.join(hs, "+");

【源代码】将一个整数的每位数分解并按逆序放入一个数组中(用递归算法)(C语言实现)

帮朋友做的,好像是一个面试题.假设不过考察递归的话.应该是够了,程序的健壮性和通用性都非常一般的说-- #include <stdio.h> #include <stdlib.h> int count = 0; void myRevert(int n, int a[]) { if(n < 10) { a[count++] = n; } else { a[count++] = n % 10; myRevert(n / 10, a); } } int main() { int n

/*将数组{17,82,-4,55}和数组{34,11,66,56,76}合并放入一个数组中,然后 对其中的元素进行排序。按从大到小排序。*/

#include <stdio.h>void main(){ int a[4]={17,82,-4,55},b[5]={34,11,66,56,76},c[9],i,j,n,temp; printf("原来的第一个数组是:\n"); for(i=0;i<4;i++) { printf("%d\n",a[i]); } printf("原来的第二个数组是:\n"); for(j=0;j<5;j++) { printf(&quo

一个整数123456789,从末尾开始依次放入到数组中,遍历出来

#import <Foundation/Foundation.h> #define NSLog(FORMAT, ...) printf("%s\n", [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]) int main(int argc, const char * argv[]) { @autoreleasepool { NSMutableString *mustr=[[NSMutableStri

小算法:将一整数逆序后放入一数组中(要求递归实现)

static void Main(string[] args) { int m = 1236578; int[] ms = new int[m.ToString().Length]; Rev(m.ToString().Length, m, ref ms); for (int i = 0; i < m.ToString().Length; i++) Console.Write("{0}", ms[i]); Console.ReadLine(); } private static v

vim生成连续数字列

功能描述:在vim中插入连续数字列 比如 1, 2, 3, 4, 5, ... 100, 命令:使用q命令录制自己的动作序列然后重复执行 准备工作: 首先输入起始数字,比如这里输入1和逗号,光标在当前行 动作序列如下: 1. normal模式下qa    即将动作记录放入寄存器a中,可以根据自己偏好使用寄存器 2. Y    复制整行 3. p    粘贴到下一行 4. f ,    向右查找到逗号, 5. h    光标右移一个字符 6. ctrl + a   数值加1 7. q    退出记

有两个升序的的数组A1和A2,内存在A1末尾有足够的多余空间容纳A2,设计一个函数,把A2中的所有数字插入到A1中并且所有的数字都是升序的。

此问题和替换空格问题几乎都可以用一个模式高效求解,即都采用从后往前的方法比较A1和A2的数字,然后把较大的数复制到A1合适的位置.防止采用从前往后的方法导致大量的重复移动. 具体思路:类似于merge_sort中的merge过程,首先可以得到合并后A1数组的实际长度(A1.length+A2.length) 依次比较两个数组中的最后一个元素,把较大的数依次放入A数组的末尾,直到A1中元素比较完成或者A2中的数组比较完成. 然后只需要把多出的元素直接插入A1前段即可. 具体的代码如下: 1 #in