字符串一

发布时间:2013-04-24 10:33:28   来源:文档文库   
字号:

1、 给你一组字符串如:iu7i8hy4jnb2,让你编程输出里面的数字:7842

public class DEMO {

public static void main(String[] args) {

String s = "iu7i8hy4jnb2";

// String newStr = s.replaceAll("[a-z]", "");

String newStr = s.replaceAll("[^\\d+]", "");

System.out.println(newStr);

}

}

2、已知一个串,比如“312,把它转换为:“333122,又比如:“6325转为:“6666663332255555”。看到什么规律了吗?就是把每个数字重复这个数字那么多次。

请编写程序,输入一个不含0的数字串(可以不考虑用户输入其它字符的情况)。

程序输出转换后的字符串。

比如,用户输入:123

程序输出:122333

3假设s是一个形如"cat223dog456nice25ttt2011"的字符串,其特征是数字与字符交错,但不以数字开头。我们希望知道这样串中有多少个数字段,请写一个方法求出给定字符串中的数字段数目。

要求:

1.方法头定义如下:

public int countNumStr(String s)

2.Java源文件包含main()方法,运行能输出结果,将制作好的应用程序类保存为“T4.java,放在根文件夹下。

public class Test

{

public static void main(String[] args)

{

String s = "cat234dog456nice56tt2011";

int count = 0; //存储数字段的个数

int nTmp=0; //用以记录连续数字的位数

char Arr[] = s.toChar();

System.out.print("字符串"+s+"的数字部分为:");

for(int i = 0; i < Arr.length; i++)

{

nTmp = 0;

while(i + nTmp < Arr.length //截区出连续的数字

&& Arr[i + nTmp] >= '0'

&& Arr[i + nTmp] <= '9')

{nTmp++;}

if(nTmp > 0)

{

count++;

System.out.print(s.substring(i, i + nTmp) + " "); //i+nTmp为截止位

i += nTmp; //i跳格到数字段的下一字母处

}

}

System.out.print("\n所以它有"+count+"个数字段。");

}

}

4编写程序模拟107的体彩投注和开奖,要求如下:

1) 从键盘输入7[0,9]个整数,作为用户投注的号码。

2) 随机产生7[0,9]之间的整数,作为开奖号码

3) 对比用户号码和开奖号码最多有几个数连续相同,输出中了几个号

例如:开奖号码 6220462

用户号码 9020466 4个号

import java.util.*;

import java.util.regex.*;

public class test {

public static void main(String[] args) {

Scanner scan=new Scanner(System.in);

String str1=scan.next();

String str2="";

int num=0;

for(int i=1;i<=7;i++){

str2+=(int)(Math.random()*9);

for(int j=0;j<=7-i;j++){

if(str2.contains(str1.substring(j,j+i))){

num=i;

break;

}

}

}

System.out.println(str1+" "+str2);

System.out.println(num);

}

}

5定义一串字母的字符串,求出现最多的那个字母,出现了多少次!

public class Test {
    public static void main(String[] args) {
        String str = "dsfdsfsdfsdf";
        Map d = new HashMap();
        for(int i = 0;i
            char c = str.charAt(i);
            if(d.containsKey(c)){
                d.put(c, d.get(c)+1);
            }
            else{
                d.put(c, 1);
            }
        }
        System.out.println(d);
    }
   
}

6打印出一个字符串里面字母的出现次数

public class Test {
    public static void main(String[] args) {
        String inputstr = "abcbssssssssssss";//字符串
        char[] array_input = inputstr.toChar();//将字符串转化为字符数组
        HashMap map = new HashMap();//创建一个map<字符,个数>
        for(int i = 0; i < array_input.length; i++){
            Character row = array_input[i];
            if (map.containsKey(row)) {//如果包含该字符
                Integer count = map.get(array_input[i]) + 1;//个数等于原有个数加一
                map.remove(row);//移除这个字符
                map.put(row, count);//加入字符
            } else {//不包含该字符
                map.put(row, 1);//加入该字符,并将个数赋为一
            }
        }
        System.out.println(map);//打印结果
    }
}

本文来源:https://www.2haoxitong.net/k/doc/c510f0fcba0d4a7303763a0f.html

《字符串一.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式