string课后作业
2015-10-25 15:27
246 查看
1.请查看String.equals()方法的实现代码,注意学习其实现方法。
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) { //字符串是一个引用数据类型,本身是String对象,先判断anObject是不是String类的一个实例,如果是运行下边的语句
String anotherString = (String)anObject; //在这里把传进来的anObject这个对象,赋给anotherString (需要类型转换)
int n = count; //这个count是原始字符串的长度
if (n == anotherString.count) { //把字符串长度和要比较的字符串长度对比,长度都不同的话就不用比字符串内容了
char v1[] = value; //把原始字符串以字符形式存入数组
char v2[] = anotherString.value; //把要比较字符串以字符形式存入数组
int i = offset; //数组下标
int j = anotherString.offset; //数组下标
while (n-- != 0) { //遍历数组,比较 数组元素是否相同
if (v1[i++] != v2[j++]) //在遍历的过程中如果有不同的就返回false
return false;
}
return true;
}
}
return false;
}
2.string类的使用说明
1.Length():获取当前字串长度
2.charAt(int index):获取当前字符串对象下标index处的字符
3.getChars():获取从指定位置起的子串复制到字符数组中
参数:int srcBegin,int srcEnd,char[] dst,int dstBegin
srcBegin - 字符串中要复制的第一个字符的索引。
srcEnd - 字符串中要复制的最后一个字符之后的索引。
dst - 目标数组。
dstBegin - 目标数组中的起始偏移量。
4.replace(char ch1,char ch2):将字符串的字符ch1替换为字符串ch2.
5.toUpperCase():将字符串中的小写字符转换为大写字符
6.toLowerCase():将字符串中的大写字符转换为小写字符
7.trim():去除头尾空格,Trim删除的过程为从外到内,直到碰到一个非空白的字符为止,所以不管前后有多少个连续的空白字符都会被删除掉。
8.toCharArray():将字符串对象转换为字符数组。
3.
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报,请编写一个程序,使用上述算法加密或解密用户输入的英文字串:
设计思想:
转换成char字符数组,ascii码向后移动三位。
程序流程图:
程序源代码:
import javax.swing.JOptionPane;
public class Kaisa {
public static void main(String[] args)
{
String s;
s =JOptionPane.showInputDialog( "请输入明文" );
char ch[]=s.toCharArray();
for(int i=0;i<s.length();i++)
{
if(ch[i]=='X'||ch[i]=='Y'||ch[i]=='Z')
{
ch[i]=(char)(ch[i]-23);
}
else
{
ch[i]=(char)(ch[i]+3);
}
}
JOptionPane.showMessageDialog(null,"密文为:"+String.valueOf(ch));
}
验证结果截图:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) { //字符串是一个引用数据类型,本身是String对象,先判断anObject是不是String类的一个实例,如果是运行下边的语句
String anotherString = (String)anObject; //在这里把传进来的anObject这个对象,赋给anotherString (需要类型转换)
int n = count; //这个count是原始字符串的长度
if (n == anotherString.count) { //把字符串长度和要比较的字符串长度对比,长度都不同的话就不用比字符串内容了
char v1[] = value; //把原始字符串以字符形式存入数组
char v2[] = anotherString.value; //把要比较字符串以字符形式存入数组
int i = offset; //数组下标
int j = anotherString.offset; //数组下标
while (n-- != 0) { //遍历数组,比较 数组元素是否相同
if (v1[i++] != v2[j++]) //在遍历的过程中如果有不同的就返回false
return false;
}
return true;
}
}
return false;
}
2.string类的使用说明
1.Length():获取当前字串长度
2.charAt(int index):获取当前字符串对象下标index处的字符
3.getChars():获取从指定位置起的子串复制到字符数组中
参数:int srcBegin,int srcEnd,char[] dst,int dstBegin
srcBegin - 字符串中要复制的第一个字符的索引。
srcEnd - 字符串中要复制的最后一个字符之后的索引。
dst - 目标数组。
dstBegin - 目标数组中的起始偏移量。
4.replace(char ch1,char ch2):将字符串的字符ch1替换为字符串ch2.
5.toUpperCase():将字符串中的小写字符转换为大写字符
6.toLowerCase():将字符串中的大写字符转换为小写字符
7.trim():去除头尾空格,Trim删除的过程为从外到内,直到碰到一个非空白的字符为止,所以不管前后有多少个连续的空白字符都会被删除掉。
8.toCharArray():将字符串对象转换为字符数组。
3.
古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报,请编写一个程序,使用上述算法加密或解密用户输入的英文字串:
设计思想:
转换成char字符数组,ascii码向后移动三位。
程序流程图:
程序源代码:
import javax.swing.JOptionPane;
public class Kaisa {
public static void main(String[] args)
{
String s;
s =JOptionPane.showInputDialog( "请输入明文" );
char ch[]=s.toCharArray();
for(int i=0;i<s.length();i++)
{
if(ch[i]=='X'||ch[i]=='Y'||ch[i]=='Z')
{
ch[i]=(char)(ch[i]-23);
}
else
{
ch[i]=(char)(ch[i]+3);
}
}
JOptionPane.showMessageDialog(null,"密文为:"+String.valueOf(ch));
}
验证结果截图:
相关文章推荐
- 各种编程语言的特点
- Ubuntu的另类安装方法
- 十月英语总结
- Ubuntu12.04安装adobe flash
- C++初始化和引用
- main函数里面的参数argv是什么?
- 实用SQL语句大全
- Mac 安装 MySQL5.7
- Java设计模式11:外观模式
- protobuf-介绍篇
- Myeclipse的使用方法-格式化源代码
- Blender学习笔记10.25
- 2010年NOIP提高组 乌龟棋
- 杂务
- jQuery选择器实现隔行变色
- HDU 5489 Difference of Clustering 图论
- web缓存、FTP/SMTP
- 【UML】状态图Statechart diagram
- java jar命令 --docs下运行
- 软件功能测试步骤