zoukankan      html  css  js  c++  java
  • 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 字符串加密
    2 字符串解密
    请选择:");
    
    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类里的成员,你说的countvalueoffset都是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类型转化为字符数组型

  • 相关阅读:
    Windows-Windows 下使用 Linux 系统(WSL)
    Windows
    多校3 1002 RGCDQ
    三分 Error Curves
    Equation Again 最大化最小值
    Monthly Expense
    Hamburgers 假定解是否可行
    多校2 1002 Buildings
    UVa 10881 Piotr’s Ants
    多校1 Assignment(枚举 二分 rmq) 1002
  • 原文地址:https://www.cnblogs.com/wys-373/p/7727011.html
Copyright © 2011-2022 走看看