zoukankan      html  css  js  c++  java
  • JAVA字符串课后作业

    1.古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

    请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。

    程序设计思想:

    输入要加密的子串str,定义字符串长度,将字符串转化为单个字符,每个字符+3,向后移3个,每个字符-3,向前移3个,定义str1,将新得到的每个字符加到str1后,得到加密后的英文子串str1,定义str2,将新得到的每个字符加到str2后,得到解密后的英文子串str2,输出加密后的子串str1,输出解密后的子串str2

    程序流程图:

    源代码:

    import java.util.Scanner;
    public class Mi {
        public static void main(String[] args) {
      // TODO 自动生成的方法存根
      Scanner input=new Scanner(System.in);
      System.out.println("请输入要加密或者解密的子串");
      String str;
      int n=0;
      str=input.nextLine();//nextLine接受一行数据 
      n=str.length();
      char a,b;
      int n1=0;
      String str1=new String();
      String str2=new String();
      for(int i=0;i<n;i++)
      {
       a=str.charAt(i);//获取指定位置的字符串
       b=str.charAt(i);//获取指定位置的字符串
       
       a=(char)(a+3);
       b=(char)(b-3);
       
       str1=str1+a;
       str2=str2+b;
       
       
      }
      System.out.println("加密后的子串是: "+str1);
      System.out.println("解密后的子串是: "+str2);
       
     }
    }

    结果截图:

    2.动手动脑:请查看String.equals()方法的实现代码,注意学习其实现方法。

    String类中的equals()方法用于比较两个字符串是否相等,由于字符串是对象类型,所以不能简单用“==”判断两个字符串是否相等,equals()方法的入口参数为欲比较的字符串对象,该方法的返回值为boolean型,如果两个字符串相等则返回ture,否则返回false

    3.整理String类的Length()charAt()、 getChars()replace()、 toUpperCase()、 toLowerCase()trim()toCharArray()使用说明

    Length():获取字串长度,字符串是一个对象,在这个对象中包含length属性,它是该字符串的长度,使用String类中的length()方法可以获取该属性值。

    charAt():获取指定位置的字符

    getChars():获取从指定位置起的子串复制到字符数组中(它有四个参数,1.被拷贝字符在字串中的起始位置  2.被拷贝的最后一个字符在字串中的下标再加1  3.目标字符数组  4.拷贝的字符放在字符数组中的起始下标

    replace():子串替换,通过String类的replace()方法,可以将原字符串中的某个字符替换为指定的字符,并得到一个新的字符串,该方法的具体定义如下:public String replace(char oldChar,char newChar)

    toUpperCase()、 toLowerCase()大小写转换,在String类中提供了两个用来实现字母大小写转换的方法,它们的返回值均为转换后的字符串,其中toLowerCase()用来将字符串中的所有大写字母改为小写字母,,方法toUpperCase()用来将字符串中的所有小写字母改为大写字母。

    trim()去除头尾空格,通过String类的trim()方法,可以通过去掉字符串的首尾空格得到一个新的字符串,该方法的具体定义如下:public String trim()

    toCharArray()将字符串对象转换为字符数组

  • 相关阅读:
    hihocoder 1388 Periodic Signal
    HDU 5880 Family View (AC自动机)
    HDU 5889 Barricade (bfs + 最小割)
    UVa 10806 Dijkstra, Dijkstra (最小费用流)
    POJ 3169 Layout (差分约束)
    差分约束系统学习
    HDU 3062 病毒侵袭持续中 (AC自动机)
    HDU 2896 病毒侵袭 (AC自动机)
    HDU 2222 Keywords Search (AC自动机)
    项目管理工具Leangoo,截止日期终于变绿色了
  • 原文地址:https://www.cnblogs.com/qianxia/p/4902998.html
Copyright © 2011-2022 走看看