古罗马凯撒大帝字串加密

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("\ns1替换为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]);

}


}

 

 

posted on 2017-10-26 17:31  xiaohaigege666  阅读(268)  评论(0编辑  收藏  举报

导航