实验七
实验项目:数组、字符串(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类的使用