zoukankan      html  css  js  c++  java
  • 字符串及课堂例子整理

    编程思路:通过参数传入要加密的字符。凯撒密码器只是通过移动的位数,这里不妨通过命令行参数传入。由于移动的位数为整数,因此使用Integer.parseInt( )方法进行了转换。由于字母表中共26个字符,所以移位前先将移动的位数(key)26取模。由于Java中字符和整型可自动转换,因此将字符加上一个正整数即代表在字母表中右移多少位。如果移动的位数是负值,则代表在字母表中左移多少位。就得出来了。

    编程流程图

    加密方法:

    实验代码:

    import java.util.Scanner;
    public class G {
    
    public static void main(String[] args) {
    // TODO 自动生成的方法存根
            Scanner input = new Scanner(System.in);
            String q=new String();
            System.out.println("请输入一个字符串:");//字符串的输入
            q=input.nextLine();
            char []a=q.toCharArray();
             System.out.println("请问需要加密还是解密?(加密输入1,解密输入0)");//需要解密或者是加密
       int qq = input.nextInt();
    if(qq==1)//加密
        {
              for(int i=0;i<q.length();i++)//从第一个字符开始操作
            {
        a[i]=(char)(a[i]+3);//每一个字符加三
       if((a[i]>'Z'&&a[i]<'a')||a[i]>'z')
    {
           a[i]=(char)(a[i]-26);//当字符位于Z和a之间或者大于z时字符减26
    }
    
    }
    String q1=new String(a);
    System.out.println("加密后的字符串为:"+q1);//输出加密后的字符串
    }
    if(qq==0)//解密
    {
    for(int i=0;i<q.length();i++)//从第一个字符开始操作
    {
    a[i]=(char)(a[i]-3);//每一个字符加三
    if((a[i]>'Z'&&a[i]<'a')||a[i]<'A')
    {
    a[i]=(char)(a[i]+26);//当字符位于Z和a之间或者小于A时字符加26
    }
    }
    String q1=new String(a);
    System.out.println("解密后的字符串为:"+q1);//输出加密后的字符串
    }
    }
    
    }
    

      实验截图:

     string类函数使用说明:

        1.   String.equals():判断两个字符对象的内容是否相等;

        2.   length():求字符或字符串的长度。字符串长度用length();数组可以用length;

        3.   charAt():得到字符串中某个位置的字符值。索引范围是从0到length() - 1;

        4.   getChars():把某位置开始的子串复制到某个数组中;

        5.   replace():子串替换用法就是将字符串中的某子串替换为另一个子串;

        6.   toUpperCase():小写转换为大写 ;()内可以是String char类型的变量名也可以是“字符串”。

        7.   toLowerCase():大写转换为小写; ()内可以是String char类型的变量名也可以是“字符串”。

        8.   trim():消除首尾空格;

        9.   toCharArray():将字符对象转化为char数组;

  • 相关阅读:
    [html]Sublime Text添加插件
    [C#.Net]判断文件是否被占用的两种方法
    C#中隐式运行CMD命令行窗口的方法
    [C#.Net]启动外部程序的几种常用方法汇总
    C# 管理员身份运行程序
    [C#.net]PostMessage与SendMessage的区别
    [C#.net] SendMessage
    由浅入深了解Thrift之客户端连接池化续
    由浅入深了解Thrift之客户端连接池化
    由浅入深了解Thrift之服务模型和序列化机制
  • 原文地址:https://www.cnblogs.com/hanzhu/p/4909816.html
Copyright © 2011-2022 走看看