第一题

字符串加密问题

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的更多相关文章

  1. Java课堂作业详解

    今天的Java课堂留下了一个作业:使用Eclipse编写一个程序,使输入的两个数进行加和,并且输出他们的和.对于这个题目,我们首先可以把它分解成为三个不同的小步骤 第一步就是输入这两个数,因为我们无需 ...

  2. 第二周Java课堂作业

    演示一: public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size ...

  3. java课堂作业3 动手动脑

    第一题 测试一下代码查看输出结果 public class InitializeBlockDemo { /** * @param args */ public static void main(Str ...

  4. java课堂作业,求多参数的和

    设计思想 第一步:用户输入他想要计算的数字个数 第二步:声明字符串数组,保存用户的输入,同时每次输入后强制转换类型并求和 第三步:将声明的数组赋值给args 第四步:输出结果 程序流程图 程序源代码 ...

  5. java课堂作业--异常处理

    一. 运行结果: 二. 结果: ArrayIndexOutOfBoundsException/内层try-catch 发生ArithmeticException 三. 结果: ArrayIndexOu ...

  6. JAVA课堂作业(2019.10.14)

    一. (1)代码 package class20191014; import java.util.Scanner; public class ClassHomework { public static ...

  7. Java课堂作业01

    题目:编写一个程序,此程序从命令行接收多个数字,求和之后输出结果. 设计思想:用for循环将string型转换为int型,再用sum求和,使其一直相加,到达最大长度,sum即为所求sum. 程序流程图 ...

  8. Java课堂作业

  9. java课堂作业3 第一题 能查阅申请对象个数

    实验代码 public class Num { public static void main(String[] args) { // TODO Auto-generated method stub ...

随机推荐

  1. Python学习笔记:(十三)错误和异常

    一.语法错误 在Python中语法错误称之为解析错误. 在语法分析器指出了出错的哪一行,并且在最先找到错误的位置标记了一个小小的箭头. 二.异常 1.异常处理 try except else fina ...

  2. CentOS mysql安装

    MySQL For Excel 1.3.5MySQL for Visual Studio 1.2.5MySQL Fabric 1.5.6 & MySQL Utilities 1.5.6Conn ...

  3. linux创建软链接

    linux软链接linux下的软链接类似于windows下的快捷方式实例:ln -s /home/gamestat    /gamestatln -s a b 中的 a 就是源文件,b是链接文件名,其 ...

  4. 微信小程序组件篇实战

    实现效果如下: 实现代码如下: index.wxml: <!--index.wxml--> <view class="container"> <vie ...

  5. 【VS开发】【智能语音处理】VS中声音的采集实现

    vc中声音的采集是用api函数来实现的. 一.数字音频基础知识  Fourier级数:  任何周期的波形可以分解成多个正弦波,这些正弦波的频率都是整数倍.级数中其他正线波的频率是基础频率的整数倍.基础 ...

  6. 【机器学习】Linear least squares, Lasso,ridge regression有何本质区别?

    Linear least squares, Lasso,ridge regression有何本质区别? Linear least squares, Lasso,ridge regression有何本质 ...

  7. python 并发编程 同步调用和异步调用 回调函数

    提交任务的两张方式: 1.同步调用 2.异步调用 同步调用:提交完任务后,就在原地等待任务执行完后,拿到结果,再执行下一行代码 同步调用,导致程序串行执行 from concurrent.future ...

  8. 数组转字符串,字符串转数组 join(), split();

    join()  join() 方法用于把数组中的所有元素放入一个字符串. 元素是通过指定的分隔符进行分隔的. arrayObject.join(separator), 默认为使用逗号分隔 var ar ...

  9. C语言作业Ⅰ12

    一.我学到的内容 二.我的收获 时间 作业链接 我的收获 第一周 https://www.cnblogs.com/deng9/p/11576196.html#4369234 让我对这个专业有了新的认识 ...

  10. Hadoop+HBase分布式部署

    test 版本选择