实验七:数组、字符串(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]+"个");
			}
			
		}
	}
}

第二题

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值