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():将本字符串转化为一个字符数组。

     

  • 相关阅读:
    loaded some nib but the view outlet was not set
    指标评比
    IOS DEVELOP FOR DUMMIES
    软件测试题二
    javascript select
    DOM节点类型详解
    mysql操作
    UVA 10055
    solutions for 'No Suitable Driver Found For Jdbc'
    解决git中文乱码问题
  • 原文地址:https://www.cnblogs.com/wangfengbin/p/6009459.html
Copyright © 2011-2022 走看看