课后作业---字符串

一、课后作业一

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 static void main( String args[] ){
		Scanner N = new Scanner(System.in);//输入
		System.out.print("请输入要执行操作(1.加密,2解密):");
		int choose = N.nextInt();
		String result="";
		char temp;

		if(choose == 1)//加密
		{
			System.out.print("请输入字符串:");
			String wen = N.next();
			for(int i = 0;i < wen.length();i++)
			{
				if((wen.charAt(i) > 64 && wen.charAt(i) < 88)||(wen.charAt(i) > 98 && wen.charAt(i) < 120))
					temp=(char) (wen.charAt(i) + 3);
				else if((wen.charAt(i) > 87 && wen.charAt(i) < 91)||(wen.charAt(i) > 119 && wen.charAt(i) < 123))
					temp=(char) (wen.charAt(i) - 23);
				else
				{
					System.out.println("中间输入有误!");
					break;
				}
				result += temp;
			}
			System.out.println("加密后结果为:" + result);
		}
		else if(choose == 2)//解密
		{
			System.out.print("请输入字符串:");
			String wen = N.next();
			for(int i = 0;i < wen.length();i++)
			{
				if((wen.charAt(i) > 67 && wen.charAt(i) < 91)||(wen.charAt(i) > 99 && wen.charAt(i) < 123))
					temp=(char) (wen.charAt(i) - 3);
				else if((wen.charAt(i) > 64 && wen.charAt(i) < 68)||(wen.charAt(i) > 96 && wen.charAt(i) < 100))
					temp=(char) (wen.charAt(i) + 23);
				else
				{
					System.out.println("中间输入有误!");
					break;
				}
				result += temp;
			}
			System.out.println("解密后结果为:" + result);
		}
		else
			System.out.println("输入有误!");
		N.close();
	}
}

4.结果截图:

二、课后作业二

时间: 2024-12-06 16:09:07

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

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

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

课后作业5

动手动脑1:运行示例代码,查看结果,解释为什么是这个结果,从中你能总结出什么? 运行结果:tru truefalse 分析结果:s1,s2,s0均指向hello字符串常量的地址.所以在执行过程中,Java对于同一字符串是不会开辟新的空间的,而在最后的两者的内容虽然相同,但是他们的地址不同所以不等. 动手动脑2:查看String.equals()方法的实现代码 结果分析:s1==s2是判断地址和值,equals()仅仅判断值,s1,s2的值相同,但是地址不同,s3,s4的地址,内容都相同. 动手动

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] 数据作为方法参数示例代码 int[] arr= new int[ 24 ]; -- modifyArray( arr ); 阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结,然后与下页幻灯片所讲的内容进行对照. // PassArray.java // Passing arrays and individual array elements to methods public class PassArray { public static void ma

第四讲动手动脑集课后作业

一.动手动脑 1.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. 源代码: //huzejie20161016//生成指定数目的随机数import java.util.Scanner;public class Suijishu { public static void main(String[] args) { System.out.print("请输入要输出多少个随机数:"); Scanner s = new Scanner(System.in); int n

03_方法(动手动脑和课后作业)

一. MethodOverload.java public class MethodOverload { public static void main(String[] args) { System.out.println("The square of integer 7 is " + square(7)); System.out.println("\nThe square of double 7.5 is " + square(7.5)); } public s

课后作业

课后作业 "类型转换"知识点考核-2 程序源代码: 1 class Mammal{} 2 class Dog extends Mammal {} 3 class Cat extends Mammal{} 4   5 public class TestCast 6 { 7      public static void main(String args[]) 8      { 9             Mammal m; 10             Dog d=new Dog();

数组课后作业

课后作业: 随机生成10个数,填充一个数组,然后用消息框显示数组,接着计算数组元素的和,将结果也显示在消息框中. 设计思路:首先使用random随机产生10个数,存储在数组中,然后使用for循环把数字存储在一个String对象中,再使用for循环求出数组中所有数字的和,最后用对话框输出内容. 程序流程图: 源程序代码: import javax.swing.*; public class Test1{ public static void main( String args[] ){ Strin