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

String类练习题

程序员文章站 2022-05-19 13:32:31
...

1. 编写一个方法,将一段文本中的各个单词的字母顺序翻转,
   例如:“To be or not to be",将变成"oT eb ro ton ot eb"。
2. String s=”name=zhangsan age=18 classNo=090728”;
   将上面的字符串中包含的信息存放到Student(里面有name,age,classNo三个属性)的对象中:
3. 上网查询 instanceof 这个关键字的用法,并用用代码演示
4.自己写代码实现String类中的charAt方法和indexOf方法,不允许使用String中的方法实现
5.自己写代码实现String类中的contains方法,不允许使用String中的方法实现

 

package Demo7;

class Demo {

}

public class Demo7 extends Demo {

	public static void test1() {
		String str = "To be or not to be";
		String s = "";
		String[] strs = str.split(" ");
		for (int i = 0; i < strs.length; i++) {
			char[] ch = strs[i].toCharArray();
			for (int j = 0; j < ch.length / 2; j++) {
				char temp = ch[j];
				ch[j] = ch[ch.length - 1 - j];
				ch[ch.length - 1 - j] = temp;
			}
			strs[i] = String.valueOf(ch);
			s += strs[i] + " ";
		}

		System.out.println("第一题:" + s);
	}

	public static void test2() {
		Student student = new Student();
		String str = " name=zhangsan age=18 classNo=090728";
		String[] strs = str.trim().split(" ");
		for (int i = 0; i < strs.length; i++) {
			strs[i] = strs[i].substring((strs[i].indexOf("=")) + 1);

		}
		student.setName(strs[0]);
		student.setAge(strs[1]);
		student.setClassNo(strs[2]);
		System.out.println("第二题:" + student);
	}

	public static boolean test3() {
		Demo demo1 = new Demo(); // 父类
		Demo7 demo2 = new Demo7(); // 子类
		return demo2 instanceof Demo;
	}

	public static char test4_charAt(String str, int index) throws ArrayIndexOutOfBoundsException {
		char[] ch = str.toCharArray();
		if (index > ch.length - 1 || index < 0) {
			throw new ArrayIndexOutOfBoundsException();
		}
		for (int i = 0; i < ch.length; i++) {
			if (i == index) {
				return ch[i];
			}
		}
		return 0;

	}

	public static int test4_indexOf(String str, String str1) {
		String[] strs = str.split("");
		for (int i = 0; i < strs.length; i++) {
			if (str1.equals(strs[i])) {
				return i;
			}
		}
		return -1;
	}

	public static boolean test5_contains(String str, String str1) {
		String[] strs = str.split("");
		for (int i = 0; i < strs.length - str1.length() + 1; i++) {
			String s = "";
			for (int j = i; j < str1.length() + i; j++) {
				s += strs[j];
			}
			if(str1.equals(s)) {
				return true;
			}
		}
		return false;
	}

	public static void main(String[] args) {

		test1();
		test2();
		System.out.println("第三题:" + test3());
		try {
			System.out.println("第四题的charAt方法:" + test4_charAt("abcde", 3));
		} catch (ArrayIndexOutOfBoundsException e) {
			System.err.println("数组下标越界!");
		}
		System.out.println("第四题的indexOf方法:" + test4_indexOf("abcde", "c"));

		System.out.println("第五题:" + test5_contains("abcde", "ae"));
	}

}