zoukankan      html  css  js  c++  java
  • 课后作业

    课后作业1:字串加密

    设计思想:对于一个字符串,用String.charAt()方法依次取出其中的字符元素,组成一个字符数组。字符类型可以转化为短整型变量进行计算,所有将从字符串中取出的字符经过加法运算后在转化为char类型,然后覆盖原来的字符变量。将字符数组中的字符都经过相同的转化方式,然后用字符数组初始化字符串,最后输出字符串,这就是加密后的字符串。解密的时候,只需要取出去每个字符进行相反的运算就行了。

      程序流程图:

    程序源代码:

    import javax.swing.JOptionPane;
    public class Test {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		String str = JOptionPane.showInputDialog(null);
    		
    		char arry[] = new char[str.length()];
    		arry = str.toCharArray();
    		
    		for(int i = 0; i < str.length(); i++){
    			short x = (short)arry[i];
    			x += 20;
    			if(x > 'z')
    				x -= 26;
    			arry[i] = (char)x;
    		}
    		
    		String str1 = new String(arry);
    		
    JOptionPane.showMessageDialog(null, str1,"加密后为",JOptionPane.INFORMATION_MESSAGE);
    	}
    	
    }
    

     程序截图验证:

    课后作业2: String.equals()方法的源代码:

    public boolean equals(Object anObject) {  
            //判断是否是和自己比较
            if (this == anObject) {  
                return true;  
            }  
            //判断传过来的anObject是否是String类型的实例
            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;  
        }

    在判断两个字符串是否相等的时候,首先判断这两个字符串是否符合全等的条件。然后判断两个字符串长度是否相等,长度不相等的字符串当然不会相等。然后逐个字符逐个字符比较两个字符串中是否有不相同的字符,只要有一个不相等的字符出现,结束比较,返回false。

     String类中的一些方法的使用方法:

    length():返回字符串的长度。调用时必须以String类的实例对象调用,例如str.length()。

    charAt():去字符串中指定位置上的字符,括号中的参数范围是0到字符串长度减一。

    getChars():将字符串中的部分字符存到一个字符数组中。该方法有4个参数,参数列表为int srcBegin,int srcEnd,char[] dst, int dstBegin, 参数列表表示取本字符串中位置下标为srcBegin开始到位置下标为srcEnd-1结束的所有字符,字符放在字符数组dst中位置下标为dstBegin开始的后续位置。

    replace():字串替换,参数列表:charsequence target,charsequence replacement;

    target表示本子符串中需要特换的子字符串,replacement表示代替的字符串。替换过程从本字符串的开始到末尾中所有符和条件的子字符串。

    toUpperCase():将本字符串中的所有字符都转化为大写字符。

    toLowerCase():将本字符串中的所有字符都转化为小写字符。

    trim(): 去除本字符串头尾的空字符。

    toCharArray():将本字符串转化为一个字符数组。

     

  • 相关阅读:
    [读书笔记]-技术学习-微服务架构与实践
    [文章转载]-Java后端,应该日常翻看的中文技术网站 -江南白衣
    [文章转载]-我的Java后端书架-江南白衣
    正则表达式有多强大一看便知!
    微信小程序支付功能完整流程
    判断字符串是否合法(1)
    ES6新增常用方法
    JS求一个字符串在另一个字符串中出现的次数
    根据对象的某个属性排序
    数组去除重复值的四种超简便方法
  • 原文地址:https://www.cnblogs.com/wangfengbin/p/6009459.html
Copyright © 2011-2022 走看看