JAVA字符串课后作业

1.古罗马皇帝凯撒在打仗时曾经使用过以下方法加密军事情报:

请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想、程序流程图、源代码、结果截图。

程序设计思想:

输入要加密的子串str,定义字符串长度,将字符串转化为单个字符,每个字符+3,向后移3个,每个字符-3,向前移3个,定义str1,将新得到的每个字符加到str1后,得到加密后的英文子串str1,定义str2,将新得到的每个字符加到str2后,得到解密后的英文子串str2,输出加密后的子串str1,输出解密后的子串str2

程序流程图:

源代码:

import java.util.Scanner;
public class Mi {
    public static void main(String[] args) {
  // TODO 自动生成的方法存根
  Scanner input=new Scanner(System.in);
  System.out.println("请输入要加密或者解密的子串");
  String str;
  int n=0;
  str=input.nextLine();//nextLine接受一行数据 
  n=str.length();
  char a,b;
  int n1=0;
  String str1=new String();
  String str2=new String();
  for(int i=0;i<n;i++)
  {
   a=str.charAt(i);//获取指定位置的字符串
   b=str.charAt(i);//获取指定位置的字符串
   
   a=(char)(a+3);
   b=(char)(b-3);
   
   str1=str1+a;
   str2=str2+b;
   
   
  }
  System.out.println("加密后的子串是:\n"+str1);
  System.out.println("解密后的子串是:\n"+str2);
   
 }
}

结果截图:

2.动手动脑:请查看String.equals()方法的实现代码,注意学习其实现方法。

String类中的equals()方法用于比较两个字符串是否相等,由于字符串是对象类型,所以不能简单用“==”判断两个字符串是否相等,equals()方法的入口参数为欲比较的字符串对象,该方法的返回值为boolean型,如果两个字符串相等则返回ture,否则返回false。

3.整理String类的Length()、charAt()、 getChars()、replace()、 toUpperCase()、 toLowerCase()、trim()、toCharArray()使用说明。

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

时间: 2024-10-29 19:13:27

JAVA字符串课后作业的相关文章

Java 02 课后作业

第一题: //在消息框中输入两个数,并用消息框显示出两个数的加减乘除的结果 import javax.swing.JOptionPane; public class Calculator { public static void main(String args[]) { String firstNumber,secondNumber; int number1,number2,sum,minus,plus,divide; firstNumber=JOptionPane.showInputDial

05String字符串课后作业

1.请运行以下示例代码StringPool.java,查看其输出结果.如何解释这样的输出结果?从中你能总结出什么? 由此可得出,用加号连接的字符串和一整个字符串相同代码判断是true,而新开辟空间的不是, ==  只有地址和内容都相同才是true 而String.equals()函数判断的则是内容是否一致. 2.请编写一个程序,使用上述算法加密或解密用户输入的英文字串要求设计思想.程序流程图.源代码.结果截图. 设计思路:输入要加密的子串str,定义字符串长度,将字符串转化为单个字符,每个字符+

JAVA数组课后作业

1.上述代码可以顺利通过编译,并且输出一个“很奇怪”的结果:Ljava.lang.Object;@ba8a1dc,这是为什么? 由于java的Object数组不能转换成为String[]数组,这就说明你要转换的数组它本身是Object类型的数组,但是你却非要把它转换为String类的数组,这当然是错误的.在遇到类型转换出错的时候,首先要观察被转换的对象的原来类型是什么,这个就需要首先把它转换成为自己本来的类型的对象,然后根据这个对象再去操作里面的元素,再一次的转换类型,而且有的时候被分析的对象可

java继承课后作业

1.动手实验:继承条件下的构造方法调用 源代码:class Grandparent{public Grandparent(){System.out.println("GrandParent Created.");}public Grandparent(String string){System.out.println("GrandParent Created.String:"+string); }}class Parent extends Grandparent{p

java多态课后作业

一.验证 (1)子类和父类定义了一模一样的方法 ·结果是100.200.200.200.201 ·父类调用了子类的方法,但是方法中调用的变量是子类的变量 ·自我总结:子类中的方法,如果调用同名变量,则调用的是子类的. 总结: ·当子类与父类拥有一样的方法,并且让一个父类变量引用一个子类对象时,到底调用哪个方法,由对象自己的"真实"类型所决定,这就是说:对象是子类型的,它就调用子类型的方法,是父类型的,它就调用父类型的方法. ·这个特性实际上就是面向对象"多态"特性的

课后作业---字符串

一.课后作业一 1.设计思想:根据题意,首先提示输入要进行的操作:解密或加密,然后输入一个字符串,利用charAt()方法将改变的字母连接到结果上,加密:将前23个大小写字母+3,后3个-23强制转化为char:解密:后23个大小写字母-3,前3个+23.再根据结果进行改变,添加提示. 2.程序流程图: 3.源代码: package T4; //胡建峰,2016.10.25 //字串加密 import java.util.Scanner; public class Test { public s

JAVA第三周课后作业

JAVA课后作业 一.枚举类型 代码: enum Size{SMALL,MEDIUM,LARGE}; public cl ass EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimi

JAVA语法基础 动手动脑及课后作业

动手动脑1: 仔细阅读示例: EnumTest.java,运行它,分析运行结果? public class EnumTest { public static void main(String[] args) { Size s=Size.SMALL; Size t=Size.LARGE; //s和t引用同一个对象? System.out.println(s==t);  // //是原始数据类型吗? System.out.println(s.getClass().isPrimitive()); //

课后作业和动手动脑(字符串)

动手动脑1: (1)       在Java中,内容相同的字串常量(“Hello”)只保存一份以节约内存,所以s0,s1,s2实际上引用的是同一个对象. (2)       编译器在编译s2一句时,会去掉“+”号,直接把两个字串连接起来得一个字串(“Hello”).这种优化工作由Java编译器自动完成. (3)       当直接使用new关键字创建字符串对象时,虽然值一致(都是“Hello”),但仍然是两个独立的对象 动手动脑2: equals所在位置: 在Object类当中,而Object是