欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

String练习题

程序员文章站 2022-05-08 08:29:11
1.分析以下需求,并用代码实现(1)定义如下方法public static String getPropertyGetMethodName(String property);(2)该方法的参数为String类型,表示用户给定的成员变量的名字,返回值类型为String类型,返回值为成员变量对应的get方法的名字(3)如:用户调用此方法时给定的参数为"name",该方法的返回值为"getName"*public static String getPropertyGetMethodName(String...

1.分析以下需求,并用代码实现
(1)定义如下方法public static String getPropertyGetMethodName(String property);
(2)该方法的参数为String类型,表示用户给定的成员变量的名字,返回值类型为String类型,返回值为成员变量对应的get方法的名字
(3)如:用户调用此方法时给定的参数为"name",该方法的返回值为"getName"
*

public static String getPropertyGetMethodName(String property){
	String str = "get"+property.substring(0, 1).toUpperCase();
	System.out.println(str);
	str += property.substring(1,property.length());
	return str;
}

2.给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置.
如:"abcbcbabcb34bcbd"中,"bcb"子串的出现位置为: 1,7,12.字符串和子串均由用户输入

  public static void main(String[] args) {
          calculateSubStrIndexFromString("abcbcbabcb34bcbd","bcb",0);
     }
     public static void calculateSubStrIndexFromString(String string,String subStr,int startIndexFirst) {
          int startIndex = startIndexFirst;
          int existingIndex = string.indexOf(subStr, startIndex);
          while(existingIndex != -1)
          {
              System.out.println("存在的index为:  "+existingIndex);        
             calculateSubStrIndexFromString(string,subStr,existingIndex+subStr.length());
             break;
         }
         
     }

3.分析以下需求,并用代码实现:
(1)定义数字字符串数组{“010”,“3223”,“666”,“7890987”,“123123”}
(2)判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出
(3)如:010 是对称的,3223 是对称的,123123 不是对称的
(4)最终打印该数组中对称字符串的个数


public class h2 {

	public static void main(String[] args) {

		// 定义数字字符串数组
		String[] str = { "010", "3223", "666", "7890987", "123123" };
		// 对数组进行遍历
		for (int i = 0; i < str.length; i++) {
			// 用s对接收上一个字符串
			String s = str[i];
			// 判断是否对称
			if (isSymmetric(s)) { // 抽取一个方法
				// 如果对称打印
				System.out.println(s);
			}
		}
	}

	/*
	 * 参数列表是字符串 返回值类型是布尔
	 */
	public static boolean isSymmetric(String s) {
		String s2 = "";// 定义一个字符串
		// 对字符串倒序遍历
		for (int i = s.length() - 1; i >= 0; i--) {
			s2 += s.charAt(i);// 对字符串进行索引,并赋值给s2
		}
		return s2.equals(s); // 返回一个布尔值,比较s2与s的值是否相等
	}

}

4.分析以下需求,并用代码实现:
(1)从键盘循环录入录入一个字符串,输入"end"表示结束
(2)将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数
举例:
键盘录入:Hello12345World
输出结果:hELLO
*wORLD 总共10个字母

public class h3 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入字符串");
		boolean flag = true;

		while (flag) {
			String str = sc.nextLine();
			// 字符串比较一定要用equals不能用 ==
			// String 是引用数据类型,== 比较的是地址值
			if (str.equals("end")) {
				break;
			}
			int count = 0;
			char[] arr = str.toCharArray();
			for (int i = 0; i < arr.length; i++) {
				if (arr[i] >= 'a' && arr[i] <= 'z') {
					arr[i] = (char) (arr[i] - 32);
					count++;
				} else if (arr[i] >= 'A' && arr[i] <= 'Z') {
					arr[i] = (char) (arr[i] + 32);
					count++;
				} else {
					arr[i] = '*';
				}
				System.out.print(arr[i]);
			}
			System.out.println("\n" + count);
		}
	}
}

5、键盘录入一个字符串,统计该字符串中的大写字母、小写字母、数字字符和其他字符分别有多少个
例如,键盘录入abcABCD12345!@#$%&,输出结果为:小写字母有3个,大写字母有4个,数字字符有5个

public class h4 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入字符串:");
		String str = sc.nextLine();
		//toCharArray()方法将字符串转换为字符数组
		char[] chs = str.toCharArray();
		int bigNum = 0;
		int smallNum = 0;
		int numberNum = 0;
		int otherNum = 0;
		for(int i=0;i<chs.length;i++){
		if(chs[i]>='A'&&chs[i]<='Z'){
		bigNum++;
		}else if(chs[i]>='a'&&chs[i]<='z'){
		smallNum++;
		}else if(chs[i]>='0'&&chs[i]<='9'){
		numberNum++;
		}else{
		otherNum++;
		}
		}
		System.out.println("大写字母个数:"+bigNum+",小写字母个数:"+smallNum+",数字个数:"+numberNum+",其他字符个数:"+otherNum);
		}
	}

6、定义一个方法,功能如下:给定一个数组,转换成一个字符串例如:数组为int[] arr = {1, 2, 3},字符串为[1, 2, 3]

public class h5 {

	public static void main(String[] args) {
	/*	byte[] buf = {1,2,3};cv
		String str = new String(buf);
		System.out.println(str);*/
		int[] array = {1,2,3};
//		String str = toString(array);
		System.out.println(toString(array));
	}


	public  static String toString(int[] array) {
		String str = "[";
		for(int i=0;i<array.length;i++) {
			str+=array[i];
			if(i==array.length-1) {
				str+="]";
			}else {str+=",";
				
			}
			
		}return str;
	
	}

}

7、定义一个方法,功能如下:给定一个字符串,返回该字符串的反转形式。例如:字符串为abcdef,返回结果为fedcba


import java.util.Scanner;

public class h6 {

	public static void main(String[] args) {

		String str = "abcdef";
		System.out.println(reverse(str));
	
	}

	public static String reverse(String str) {
		// toCharArray()方法将字符串转换为字符数组
		char[] chs = str.toCharArray();
		for (int i = 0, j = chs.length - 1; i < j; i++, j--) {
			char temp = chs[i];
			chs[i] = chs[j];
			chs[j] = temp;
		}
		return  new String(chs) ;

		
	}
	

}

本文地址:https://blog.csdn.net/m0_37650057/article/details/107372415