课后作业四

问题1:

解决:

程序设计思想:

首先先输入字符串,选择想要解密还是加密,并按照相应的选择进行处理,如果选择想要加密字符串,则现将字符串转换为字符数组,用for循环将每一个字符相应加密改变,判断是否为特殊字符,如果是,则减26,不是继续进行,然后加3,然后再重新赋值给该字符,循环输出,解密处理同上,不过改为加26,减3即可。

程序流程图:

 

程序源代码:

package demo;
import java.util.Scanner;
public class Romman {

  public static void main(String[] args) {
  // TODO 自动生成的方法存根
  Scanner input=new Scanner(System.in);
  System.out.println("请输入一个字符串:");
  String str=input.next();
  System.out.println("请输入想要1.加密字符串还是2.解密字符串:(输入数字)");    //选择
  int number=input.nextInt();
  char []array=str.toCharArray();      //将字符串转换为字符数组
  if(number==1)
  {
    System.out.println("字符串转换为:");
    for(int i=0;i<array.length;i++)
    {                      //加密字符串
      if((array[i]>90&&array[i]<97)||array[i]>122)
      {
        array[i]=(char)(array[i]-26);    //判断是否为特殊字符
      }
      array[i]=(char) (array[i]+3);
      System.out.print(array[i]);

    }

  }
  else
  {
    System.out.println("字符串转换为:");
    for(int i=0;i<array.length;i++)
    {                       //解密字符串
      if((array[i]>64&&array[i]<68)||(array[i]>96&&(array[i]<100)))
      {
        array[i]=(char)(array[i]+26);           //判断是否为A,B,C或者a,b,c
      }
      array[i]=(char) (array[i]-3);
      System.out.print(array[i]);
    }

  }

   }

}

 验证结果截图:

 

问题2:

 

解决:

验证结果截图:

 

原因:

问题3:

 

解决:

 

问题4:

 

 

解决:

源代码如下:

问题5与解决:

String类的方法可以连续调用

String str="abc";

String result=str.trim().toUpperCase().concat("defg");

请阅读JDK中String类上述方法的源码,模仿其编程方式,编写一个MyCounter类,它的方法也支持上述的“级联”调用特性

Class MyCounter{

MyCounter counter1=new MyCounter(1);

MyCounter counter2=counter1.increase(100).decrease(2).increase(3);

问题6:String各个方法使用说明与阅读笔记

 

Length()方法是用来获取字符串长度的,它会返回字符串的长度,可以赋给其他变量

例如:

String hello=”hello”;

Int length=hello.length();

 

charAt()是返回指定索引处字符。

例如:

String str=”abc”;

char d=s.charAt(1);

getChars()是一个函数输入,使用的时候无需格式说明,可直接调,调用格式为z=getChar();,这条语句表示等待用户从键盘输入一个字符,并赋给变量.

replace()是用一个新字符串去替换字符串中指定的所有字符。

例如:

String str1=”I love java”;

char oldchar=’a’;

char newchar=’b’;

String str2=str1.replace(oldchar,newchar);

newchar替换str1中所有的oldchar

toUpperCase()返回指定字符的大写格式

toLowerCase()返回指定字符的小写格式

trim()去除头尾空格,通过String类的trim()方法,可以通过去掉字符串的首尾空格得到一个新的字符串

toCharArray()将字符串对象转换为字符数组

 

posted @ 2017-10-25 22:30  猫五  阅读(123)  评论(0编辑  收藏  举报