1.字串加密
设计思想:用户输入字符串,选择加密or解密,调用toCharArray()将字符串放入数组中,分别调用加密或解密函数输出你要的字符串!
流程图:
源代码:
package 课堂4;
import java.util.Scanner;
public class Stringpassword {
public static char jiami(char c)
{
if(c=='X')
return 'A';
if(c=='Y')
return 'B';
if(c=='Z')
return 'C';
if(c=='x')
return 'a';
if(c=='y')
return 'b';
if(c=='z')
return 'c';
return (char)(c+3);
}
public static char jiemi(char c)
{
if(c=='A')
return 'X';
if(c=='B')
return 'Y';
if(c=='C')
return 'Z';
if(c=='a')
return 'x';
if(c=='b')
return 'y';
if(c=='c')
return 'z';
return (char)(c-3);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
String s="";
char c;
System.out.println("请选择加密还是解密");
Scanner in=new Scanner (System.in);
String s1=in.next();
if(s1.equals("加密"))
{
System.out.println("请输入字符串");
String s2=in.next();
char a[]=s2.toCharArray();
for(int i=0;i<s2.length();i++)
{
c=jiami(a[i]);
s+=c;
}
System.out.println("加密后:"+s);
}
else
{
System.out.println("请输入字符串");
String s2=in.next();
char a[]=s2.toCharArray();
for(int i=0;i<s2.length();i++)
{
c=jiemi(a[i]);
s+=c;
}
System.out.println("解密后:"+s);
}
}
}
结果截图:
2.String.equals()方法的实现代码
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String1) {
String1 anotherString = (String1)anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
}
3.
1 string.length()是用来求字符串的长度,返回值为字符串的长度。
2 string.charAt()为取该字符串某个位置的字符,从0开始,例如string.charAt(0)就会返回该字符串的第一个字符。
3 string.getChars()为将这个字符串中的字符复制到目标字符数组。
4 string.replace()为将原string 中的元素或子串替换。返回替换后的string。
5 string.toUpperCase()为将字符串string中字符变为大写。
6 string.toLowerCase()为将字符串string中字符变为小写。
7 string.trim()为去除字符串的头为空格。
8 string.toCharArray()为将字符串转换为字符数组。
源代码:
package 课堂4;
public class Exercise
{
public static void main(String args[])
{
String s1=new String("I am a student");
String s2=new String("HOW ARE YOU");
String s3=new String(" Hello ");
//string.length()求长度
System.out.println("length of string is:"+s1.length());
//string.charAt()取指定位置字符
System.out.println("the first char of string::"+s1.charAt(0));
//string.getChars()为将这个字符串中的字符复制到目标字符数组。
char[] c = new char[s1.length()];
s1.getChars(0, s1.length(), c, 0);
System.out.print("输出数组:");
for(int i=0;i<s1.length()-1; i++)
{
System.out.print(" "+c[i]);
}
//string.replace()为将原string 中的元素或子串替换。返回替换后的string。
System.out.println("
s1替换为s2后是:"+s1.replace(s1, s2));
//string.toUpperCase()为将字符串string中字符变为大写。
System.out.println("s1变为大写后为:"+s1.toUpperCase());
//string.toLowerCase()为将字符串string中字符变为小写。
System.out.println("s2变为小写后为:"+s2.toLowerCase());
//string.trim()为去除字符串的头为空格。
System.out.println("s1变为大写后为:"+s3.trim());
//string.toCharArray()为将字符串转换为字符数组
char a[]=s1.toCharArray();
System.out.println("转换为数组a后a[0]= "+a[0]);
}
}