课后作业05
任务一:字串加密
1)程序设计思想:定义一个string类型来保存输入的字符串,再定义一个char类型数组来保存加密后的字符,通过(char)(charAt()+3)来对字符加密。
2)程序流程图:

3)源代码:
package lx2; import java.util.Scanner; public class Lx2 { static char[] s1; static String s; static int length; public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("请输入内容"); Scanner x = new Scanner(System.in); s = x.nextLine(); length = s.length(); s1 = new char[length]; jiami(s); int i; for(i=0;i<length;i++) { System.out.print(s1[i]); } } public static void jiami(String q) { int i; for(i=0;i<length;i++) { if(s.charAt(i)>=88&&s.charAt(i)<=90) { s1[i]=(char)(s.charAt(i)-23); } else { s1[i] =(char)(s.charAt(i)+3); } } } }
4)结果截图:
任务二:
动手动脑 String.Pool()
public class lX { public static void main(String[] args) { // TODO Auto-generated method stub String s0="Hello"; String s1="Hello"; String s2="He"+"llo"; System.out.println(s0==s1);//true System.out.println(s0==s2);//true System.out.println(new String("Hello")==new String("Hello"));//false } }

在Java中,内容相同的字串常量(“Hello”)只保存一份以节约内存,所以s0,s1,s2实际上引用的是同一个对象。
编译器在编译s2一句时,会去掉“+”号,直接把两个字串连接起来得一个字串(“Hello”)。这种优化工作由Java编译器自动完成。
当直接使用new关键字创建字符串对象时,虽然值一致(都是“Hello”),但仍然是两个独立的对象。
任务三:String类的各种方法
1)length()方法
声明: public int length()
例:String s; int a; a = s.length(); 返回值为int型。
2)charAt()方法
声明: public char charAt(int index)
java.lang.String.charAt() 方法返回指定索引处的char值。索引范围是从0到length() - 1。对于数组索引,序列的第一个char值是在索引为0,索引1,依此类推.
index -- 这是该指数的char值.
3)getChars()方法
声明: public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
java.lang.String.getChars() 方法从这个字符串中的字符复制到目标字符数组
要复制的第一个字符在索引srcBegin处,被复制的最后一个字符是在的索引srcEnd1即要复制的字符总数是srcEnd srcBegin处。
字符被复制到子数组的夏令时开始在指数dstBegin和结束于索引:dstbegin + (srcEnd-srcBegin) - 1
4)replace()方法
声明: public String replace(char oldChar, char newChar)
java.lang.String.replace(char oldChar, char newChar) 方法返回一个新的字符串替换此字符串中出现的所有oldChar与newChar.
5)toUpperCase()方法
例: String s = "v"; s.toUpperCase()就等于"V"
6)toLowerCase()方法
声明: public String toLowerCase(Locale locale)
java.lang.String.toLowerCase(Locale locale) 方法将所有在此字符串中的字符小写的规则给定的Locale.
7)trim()方法
声明: public String trim()
java.lang.String.trim() 方法返回一个字符串副本,并忽略(去除)开头和结尾的空白
8)toCharArray()方法
声明: public char[] toCharArray()
java.lang.String.toCharArray() 方法把这个字符串转换成一个新的字符数组.

浙公网安备 33010602011771号