java字串

简介: 字串加密1.设计思想:       (1)加密方法,字符串的每一个字符都代表这个字符往后的第三位,最后三个字符代表,开始的三个字符。       (2)解密方法,字符串的每一个字符都代表这个字符往前的第三位,开始三个字符代表,最后的三个字符。

字串加密

1.设计思想:

       (1)加密方法,字符串的每一个字符都代表这个字符往后的第三位,最后三个字符代表,开始的三个字符。

       (2)解密方法,字符串的每一个字符都代表这个字符往前的第三位,开始三个字符代表,最后的三个字符。

(3)判断输入的是要加密还是解密,调用不同的方法。

2.程序流程图

 

 

 

 

 

3.源代码

package text;

 

import java.util.Scanner;

 

public class MiMa {

    public static void main(String[] args) {

       MiMa m=new MiMa();

       Scanner input=new Scanner(System.in);

       String s=input.next();//输入字符串

       System.out.print("1.解密,2.加密");

       int i=input.nextInt();

       if(i==1)

       {

           m.Jiemi(s);

       }

       else

           m.Jiami(s);

    }

    public  void Jiami(String s){

       char c = 0;

       for(int i=0;i<s.length();i++)

           {

              if(s.charAt(i)=='x')

                  System.out.print("a");

              else

                  if(s.charAt(i)=='y')

                     System.out.print("b");

                  else

                     if(s.charAt(i)=='z')

                         System.out.print("c");

                     else

                         c=(char) (s.charAt(i)+3);

                         System.out.print(c);

           }

    }

    public  void Jiemi(String s){

       char c = 0;

       for(int i=0;i<s.length();i++)

           {

              if(s.charAt(i)=='a')

                  System.out.print("x");

              else

                  if(s.charAt(i)=='b')

                     System.out.print("y");

                  else

                     if(s.charAt(i)=='c')

                         System.out.print("z");

                     else

                         c=(char) (s.charAt(i)-3);

                         System.out.print(c);

           }

    }

}

4.结果截图

 

 

Java动手动脑

String.equals()方法的实现代码

public boolean equals(Object anObject) {

        if (this == anObject) {

            return true;

        }

        if (anObject instanceof String) {

            String anotherString = (String)anObject;

            int n = value.length;

            if (n == anotherString.value.length) {

                char v1[] = value;

                char v2[] = anotherString.value;

                int i = 0;

                while (n-- != 0) {

                    if (v1[i] != v2[i])

                        return false;

                    i++;

                }

                return true;

            }

        }

        return false;

    }

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():将字符串对象转换为字符数组

 

目录
相关文章
|
Java
JAVA格式化输出字串
JAVA格式化输出字串
71 0
|
Java
JAVA格式化输出字串
JAVA格式化输出字串
89 0
|
Java
JAVA中RGB字串转换为颜色
JAVA中RGB字串转换为颜色
335 0
java&nbsp;温习之字符串(统计字串…
package com.baidu.sep; //统计字串在整个字符串中出现的次数
113 0
|
Java
java正则匹配并提取字串
Pattern p = Pattern.compile("\\(.*\\)"); Matcher m = p.matcher("1.2.0(23)"); if(m.
976 0
|
4天前
|
监控 Java 调度
【Java学习】多线程&JUC万字超详解
本文详细介绍了多线程的概念和三种实现方式,还有一些常见的成员方法,CPU的调动方式,多线程的生命周期,还有线程安全问题,锁和死锁的概念,以及等待唤醒机制,阻塞队列,多线程的六种状态,线程池等
25 6
【Java学习】多线程&JUC万字超详解
|
3天前
|
存储 Java 程序员
优化Java多线程应用:是创建Thread对象直接调用start()方法?还是用个变量调用?
这篇文章探讨了Java中两种创建和启动线程的方法,并分析了它们的区别。作者建议直接调用 `Thread` 对象的 `start()` 方法,而非保持强引用,以避免内存泄漏、简化线程生命周期管理,并减少不必要的线程控制。文章详细解释了这种方法在使用 `ThreadLocal` 时的优势,并提供了代码示例。作者洛小豆,文章来源于稀土掘金。
|
7天前
|
安全 Java 程序员
Java编程中实现线程安全的策略
【8月更文挑战第31天】在多线程环境下,保证数据一致性和程序的正确运行是每个程序员的挑战。本文将通过浅显易懂的语言和实际代码示例,带你了解并掌握在Java编程中确保线程安全的几种策略。让我们一起探索如何用同步机制、锁和原子变量等工具来保护我们的数据,就像保护自己的眼睛一样重要。
|
7天前
|
安全 Java 开发者
深入浅出Java多线程编程
【8月更文挑战第31天】本文旨在通过浅显易懂的语言和实例,为初学者揭开Java多线程编程的神秘面纱。我们将从基础概念出发,逐步深入到多线程的创建、同步机制及实际应用,帮助读者构建起完整的多线程知识体系。文章不仅包含理论介绍,还提供代码示例,让读者能够动手实践,加深理解。无论你是编程新手还是希望巩固多线程知识的开发者,这篇文章都将是你不可多得的学习资源。
|
7天前
|
Java 调度
Java中的多线程基础与实践
【8月更文挑战第31天】本文将深入浅出地讲解Java中多线程的基础知识,并通过实例展示如何在Java程序中实现多线程。我们将从多线程的基本概念出发,逐步深入到线程的创建、控制以及同步机制,最后通过一个简易版的生产者消费者模型来实践这些知识点。文章旨在帮助初学者快速掌握多线程编程的关键技能,并理解其背后的原理。
下一篇
DDNS