课后作业5

动手动脑1:运行示例代码,查看结果,解释为什么是这个结果,从中你能总结出什么?

 

运行结果:tru truefalse

分析结果:s1,s2,s0均指向hello字符串常量的地址。所以在执行过程中,Java对于同一字符串是不会开辟新的空间的,而在最后的两者的内容虽然相同,但是他们的地址不同所以不等。

动手动脑2:查看String.equals()方法的实现代码

 

结果分析:s1==s2是判断地址和值,equals()仅仅判断值,s1,s2的值相同,但是地址不同,s3,s4的地址,内容都相同。

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

Length():返回字符串的长度;

charAt():取字符串中的某一个字符。其中的参数为字符的位置

getChars():其中有4个参数:分别为拷贝的起始位置,结束位置,目标字符数组,数组的拷贝起始位置。

toUpperCase():字符串转化为小写;

Tolowercase():字符串转化为大写;

Trim():返回去掉开头和结尾的空格的字符串;

TocharArray():将string转化为char类型;

课后作业:

 

设计思想:1.输入一个字符串;2.将string 类型的数据转化为char类型的数据;3.判断是否在前23个字母;4.是的话,数组下标加3,后3个字母的话,下标减23

程序流程图:

源代码:

package main;

import java.util.Scanner;

public class Miwen {

public static void main(String[] args){

  String a;

  char temp;

  String b="";

  char charArray[];

  Scanner in=new Scanner(System.in);

      System.out.println("请输入一段明文:");

      a=in.next();

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

      {if((a.charAt(i)>64&&a.charAt(i)<88)||(a.charAt(i)>96&&a.charAt(i)<120))

        {

      temp=(char)(a.charAt(i)+3);

         }        

      else if((a.charAt(i)>87&&a.charAt(i)<91)||(a.charAt(i)>119&&a.charAt(i)<123))

      {

       temp=(char)(a.charAt(i)-23);

      }

      else

      {

       System.out.println("输入错误。");

       break;

      }

      b+=temp;

      }

      System.out.println("密文为:"+b);

      

}

}

结果截图:

 

 

posted @ 2016-10-28 23:03  baiyue  阅读(97)  评论(0编辑  收藏  举报