java课堂作业4
第一题
字符串加密问题
1.程序设计思想
读入字符串,然后获取其长度,利用charAt()获取每个位置字符并且对字符加3实现加密处理,并存入新字符串中。如果遇到xyz则减26存入。
2.程序流程图
3.程序源代码
import java.util.Scanner; import java.util.Random;
public class StringJiami { public static void main(String[] args) {
// TODO Auto-generated method stub
Str s=new Str();
Scanner input=new Scanner(System.in);
System.out.print("1 字符串加密\n2 字符串解密\n请选择:"); int choose=input.nextInt();
if(choose==1)
{
String str;
System.out.print("请输入要加密的字符串:");
input.nextLine();
str=input.nextLine(); //输入字符串
s.setStr(str);
System.out.println("加密后为:"+s.jiami());
}
if(choose==2)
{
System.out.print("请输入要解密的字符串:");
input.nextLine();
String str=input.nextLine(); //输入字符串
s.setStr(str);
System.out.println("解密后为:"+s.jiemi());
} } }
class Str{
private String str;
public void setStr(String a){
this.str=a;
}
public String jiemi(){
int l=str.length(); //计算字符串长度
String newstr=""; //设置空字符串保存解密后内容
char c;
for(int i=0;i<l;i++){
c=str.charAt(i); //提起第i个字符
if((c>='a'&&c<='c')||(c>='A'&&c<='C'))
c=(char)(c+26); //解密处理
if(c==' ')
c=c;
else
c=(char)(c-3);
newstr+=c; }
return newstr; //返回解密后字符串
}
public String jiami(){
int l=str.length(); //计算字符串长度
String newstr=""; //设置空字符串保存解密后内容
char c;
for(int i=0;i<l;i++){
c=str.charAt(i); //提起第i个字符
if((c>='x'&&c<='z')||(c>='X'&&c<='Z'))
c=(char)(c-26); //解密处理
if(c==' ')
c=c;
else
c=(char)(c+3); newstr+=c;
}
return newstr; //返回解密后字符串
} }
4验证结果截图
第二题
总结String类的一些方法的使用说明
Equals的实现方法
String anotherString = (String)anObject;
字符串是一个引用数据类型,本身是String个对象,
在这里把传进来的anObject这个对象,赋给anotherString (需要类型转换)
他当然可以调用String类里的成员,你说的count、value、offset都是String的成搜索员
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++])
return false;//在遍历的过程中如果有不同的就返回false;
} //你如果用过equals这个方法应该知道它返回的是boolean值
return true;
}
}
return false;
}
(1)Length():是表示字符串长度的一个属性。可以用来统计字符串的长度也可以设置返回数组元素的个数。
(2)charAt():方法返回指定索引处的char值。索引范围是从0到length() - 1。对于数组索引,序列的第一个char值是在索引为0,索引1,依此类推.
(3)void getChars(int srcBegin, int srcEnd,char[] dst, int dstbegin):该方法将目标字符拷贝到字符串中其中,srcBegin为拷贝的起始位置,srcEnd为拷贝的结束位置,字符串数值dst为目标字符数组,dstBegin为目标字符数组的拷贝起始位置
(4)replace():String replace(char oldChar,char newChar);//将字符串中第一个oldChar替换为newChar;
(5)toUpperCase()将字符转换为大写
(6)toLowerCase()将字符转换为小写
(7)Trim()删除字符串开始和结束部分的空格,然后返回删除后的结果。不删除字符串中间的空格
(8)toCharArray()将String类型转化为字符数组型
java课堂作业4的更多相关文章
- Java课堂作业详解
今天的Java课堂留下了一个作业:使用Eclipse编写一个程序,使输入的两个数进行加和,并且输出他们的和.对于这个题目,我们首先可以把它分解成为三个不同的小步骤 第一步就是输入这两个数,因为我们无需 ...
- 第二周Java课堂作业
演示一: public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size ...
- java课堂作业3 动手动脑
第一题 测试一下代码查看输出结果 public class InitializeBlockDemo { /** * @param args */ public static void main(Str ...
- java课堂作业,求多参数的和
设计思想 第一步:用户输入他想要计算的数字个数 第二步:声明字符串数组,保存用户的输入,同时每次输入后强制转换类型并求和 第三步:将声明的数组赋值给args 第四步:输出结果 程序流程图 程序源代码 ...
- java课堂作业--异常处理
一. 运行结果: 二. 结果: ArrayIndexOutOfBoundsException/内层try-catch 发生ArithmeticException 三. 结果: ArrayIndexOu ...
- JAVA课堂作业(2019.10.14)
一. (1)代码 package class20191014; import java.util.Scanner; public class ClassHomework { public static ...
- Java课堂作业01
题目:编写一个程序,此程序从命令行接收多个数字,求和之后输出结果. 设计思想:用for循环将string型转换为int型,再用sum求和,使其一直相加,到达最大长度,sum即为所求sum. 程序流程图 ...
- Java课堂作业
- java课堂作业3 第一题 能查阅申请对象个数
实验代码 public class Num { public static void main(String[] args) { // TODO Auto-generated method stub ...
随机推荐
- squid 3.5.2配置文件
https://www.cnblogs.com/mchina/p/3812190.html 配置文件就加入下面这几句话: cache_mem 64 MB maximum_object_size 4 M ...
- crond服务总结
昨天翻阅程序发现服务器端管理程序的启动方式很特别,在之前是由init进程启动程序脚本里的进程,昨天发现服务程序并没有在任何脚本中有启动的体现,但是服务程序确实是启动了,经过一番查找发现原来是crond ...
- ios app真机测试到上架App Store详细教程-必看
详细操作地址 http://www.applicationloader.net/blog/zh/88.html 苹果iOS APP真机调试测试和上架App Store视频教程 优酷 http://v. ...
- 【ABAP系列】SAP ABAP 关于FUNCTION-POOL的理解
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 关于FUNCT ...
- [开发技巧]·pandas如何保存numpy元素
[开发技巧]·pandas如何保存numpy元素 1.问题描述 在开发的过程中遇到一个问题,就是需要把numpy作为pandas的一个元素进行保存,注意不是作为一列元素.但是实践的过程中却不顺利, ...
- 应用安全 - 免杀 - 工具 - the-backdoor-factory - 使用|命令 - 汇总
安装 Kali下方式一: git clone https://github.com/secretsquirrel/the-backdoor-factory方式二: apt-get install ba ...
- 为应用创建多个独立python运行环境
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4.所有第三方的包都会被pip安装到Python3的site-packages目录下. 如果我们要同时开发多个应用程序,那这 ...
- [百度百科]PCI-E的速度
在早期开发中,PCIe最初被称为HSI(用于高速互连),并在最终确定其PCI-SIG名称PCI Express之前,将其名称更改为3GIO(第三代I / O). 名为阿拉帕霍工作组(AWG)的技术工作 ...
- oracle 数据库备份与恢复
oracle 数据库备份与恢复 包含四个部分: 1.数据泵备份与恢复 2.rman备份与恢复 3.CSV增量备份恢复 4.截库操作 1.数据泵备份与恢复 expdp/ / impdp 时的 CONTE ...
- start-all.sh启动HDFS,datanode没有启动
第一次格式化dfs后,启动并使用hadoop,之后如果再次重新执行了格式化(hdfs namenode -format) start-all.sh启动时就会遇到datanode无法启动的问题,通常情况 ...