• 实验七:数组、字符串(2)——字符串


    实验七

    实验项目:数组、字符串(2)——字符串

    实验时间:2019.4.23

    一、实验目的

    1、 掌握字符串常量String类的操作方法
    2、 学习编写处理字符串的程序
    3、 掌握字符串StringBuffer类的用法。

    实验内容:

    必做
    1、编写程序String_Count.java,由用户通过键盘指定一个字符串,然后由程序来统计并输出在该字符串中每个字符出现的次数。
    2、编写一个应用程序String_Method.java,实现以下功能,请用自编方法或者是JDK中String类中的方法皆可。(请参考JDK帮助):
     用一个方法判断一个身份证号码是否是某个省身份证,方法要求传递三个参数,第一个参数是身份证,第二个参数为判断的前缀,第三个是对应的省份。方法输出为布尔值,真则成功,假则失败。(提示:判断前缀“44”);
     写一个方法,可以一个字符串中的一个字符全部替换为另一个字符串后再输出,比如字符串为“AB-C-ABC”,用“First”替换所有的A;
     写一个方法将传入字符串将该字符数组的前3个元素创建成一个新字符串并输出;
     以上方法请在主方法中调用并实现。

    源码:
    第一题

    package ex07;
    
    import java.util.Scanner;
    
    public class String_Count {
    
    	public static void main(String[] args) {
    		System.out.print("请输入字符串: ");
    		Scanner s = new Scanner(System.in);
    		String str = s.next();
    		//Scanner close;
    		int [][]arr=new int[2][str.length()];
    		//创建元素个数为2的二维数组,其中每个元素的长度都为字符串的长度
    		
    		//
    		for (int i= 0 ; i < str.length();i++) {
    			
    			boolean isExist = false;
    			//
    			
    			for (int j= 0 ; j < str.length();j++) {
    				//已经存在的话就第二个元素数组+1
    				if(str.charAt(i)==arr[0][j]){
    					
    					arr[1][j]++;											
    					isExist = true;
    				}
    			}
    			//如果不存在的话就令元素等于该字符,使第二个元素数组等于1
    				if(!isExist){
    					arr[0][i]=str.charAt(i);
    					arr[1][i]=1;
    					}
    				
    			}
    			
    		
    		for(int k=0;k<str.length();k++){
    			//不等于0即该元素存在,可以输出
    			
    			if(arr[0][k]!=0){
    			System.out.println("字符"+(char)arr[0][k]+"共有"+arr[1][k]+"个");
    			}
    			
    		}
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47

    第二题

    package ex07;
    
    import java.util.Scanner;
    public class String_Method {
    	public static void m1() {
    		Scanner s = new Scanner(System.in);
    		System.out.println("请输入身份证号: ");
    		String id1 = s.next();
    		String id2 = id1.substring(0, 2);
    		String a = "44";
    		System.out.println("请输入省份: ");
    		String province = s.next();
    		Boolean b = false;
    		if(a.equals(id2)) {
    			b = true;
    			System.out.println(b+" 成功!该身份证为"+province+"人");
    		}else {
    			b = false;
    			System.out.println(b+" 失败!该身份证是"+province+"人");
    		}
    		System.out.println("---------------------------");
    		//String s;
    	}
    	
    	//写一个方法,可以一个字符串中的一个字符全部替换为另一个字符串后再输出,
    	public static void m2() {
    		System.out.println("请输入字符串 : ");
    		//@SuppressWarnings("resource")
    		Scanner s = new Scanner(System.in);
    		String str1 = s.next();
    		System.out.println("请输入需要替换的字符 : ");
    		//@SuppressWarnings("resource")
    		Scanner s1 = new Scanner(System.in);
    		String str2 = s1.next();
    		
    		System.out.println("请输入需要替换后的字符 : ");
    		//@SuppressWarnings("resource")
    		Scanner s2 = new Scanner(System.in);
    		String str3 = s2.next();
    		String str4 = str1.replaceAll(str2, str3);
    		System.out.println("修改后的字符串为 : "+str4);
    		//System.out.println("修改后的字符串为 : "+str1.replace(str2,str3));
    		System.out.println("---------------------------");
    	}
    	//写一个方法将传入字符串将该字符数组的前3个元素创建成一个新字符串并输出;
    	public static void m3() {
    		System.out.println("请输入字符串 : ");
    		Scanner s = new Scanner(System.in);
    		String s5 = s.next();
    		//String s3 = null;
    		//String s4 = null;
    		String s6 = s5.substring(0,3);
    		System.out.println("新字符串为:"+ s6);
    		System.out.println("---------------------------");
    	}
    	//以上方法请在主方法中调用并实现。
    	public static void main(String[] args) {
    		
    		m1();
    		m2();
    		m3();
    		
    		
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65

    实验总结:
    学习了String 类与StringBuffer类的使用

  • 相关阅读:
    实现 js 中所有对象的深拷贝(包装对象,Date 对象,正则对象)
    Mysql系列二:Mysql里的锁
    十五、Lua 协同程序(coroutine)的学习
    Python Day3 爬虫-数据接口和selenium基础
    Sharding----sphereJdbc
    qml里使用组件的案例
    JavaScript -- 数组常用方法及示例代码总结
    数组名和&数组名
    Python - Windows下使用Python脚本同步一个文件夹下的所有文件到另一个文件夹下
    瑞芯微RK3568|SDK开发之Kernel编译
  • 原文地址:https://blog.csdn.net/interestANd/article/details/127576594