Java第四次上课博文动手动脑

1.    查看String.equals()方法

public class StringEquals {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

String s1=new String("Hello");

String s2=new String("Hello");

System.out.println(s1==s2);

System.out.println(s1.equals(s2));

String s3="Hello";

String s4="Hello";

System.out.println(s3==s4);

System.out.println(s3.equals(s4));

}

}

equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等,区分大小写。在实际使用的过程中,我们可以重写equals()

方法。

2.连续调用类的方法

//编写程序实现多级调用

//王宏伟,2015,10,25

package test;

public class MyCount

{

public static void main(String args[])

{

MyCount mycount1 = new MyCount(23);

MyCount mycount2 = mycount1.increase(100).decrease(3).increase(21);

System.out.println(mycount2.num);

}

private int num;

public MyCount(int a)//构造方法

{

num = a;

}

public MyCount  increase(int a)//increase方法

{

num = num + a;

return this;

}

public MyCount  decrease(int a)//decrease方法

{

num = num - a;

return this;

}

}

2.    古罗马皇帝英文字符串加密:

程序设计思想:

本程序在用户的输入与系统的输出方面采用系统对话框的形式来完成。首先要对用户的输入进行判断,判断其输入是否合法。如果不合法就强行结束程序并进行错误提示。如果合法,首先要把用户输入的字符串转化为char数组,求出char的长度,然后用一个for循环来完成对char数组中每个字符的挨个替换。对于处在字典顺序中间字母可直接向前或者是向后移动3位,但是像处于最前面的abc和最后面的xyz就要单独处理。同理还有ABC和XYZ。

程序源代码:

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

//请编写一个程序,使用上述算法加密或解密用户输入的英文字串。

//王宏伟,2015,10,25

package test;

import javax.swing.*;

public class KingPassword

{

public static void main(String[] args)

{

String inputString;//用户输入

int choice;

choice = Integer.valueOf(JOptionPane.showInputDialog( "对字符串加密输入1,对字符串解密输入2" ));

//把用户输入的字符串1或2转换为整型1或2

if(choice == 1)

{

inputString = JOptionPane.showInputDialog( "请输入要加密的字符串:" );

char a[] = inputString.toCharArray();

int length = inputString.length();//求出字符数组的长度

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

{

if(a[i] == 'x')

a[i] = 'a';

else if(a[i] == 'y')

a[i] = 'b';

else if(a[i] == 'z')

a[i] = 'c';

else if(a[i] == 'X')

a[i] = 'A';

else if(a[i] == 'Y')

a[i] = 'B';

else if(a[i] == 'Z')

a[i] = 'C';

else

a[i] += 3;

}//对字符串中的每个字符依次加密

String outputString = new String(a);//把字符数组再转回字符串

JOptionPane.showMessageDialog( null, outputString,

"加密后的字符串为",

JOptionPane.INFORMATION_MESSAGE );

//使用对话框来显示加密后的字符串

}

else if(choice == 2)

{

inputString = JOptionPane.showInputDialog( "请输入要解密的字符串:" );

char a[] = inputString.toCharArray();//把字符串转化为字符数组

int length = a.length;//求出字符数组的长度

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

{

if(a[i] == 'a')

a[i] = 'x';

else if(a[i] == 'b')

a[i] = 'y';

else if(a[i] == 'c')

a[i] = 'z';

else if(a[i] == 'A')

a[i] = 'X';

else if(a[i] == 'B')

a[i] = 'Y';

else if(a[i] == 'C')

a[i] = 'Z';

else

a[i] -= 3;//每个字符后移三位

}//对字符串中的每个字符依次加密

String outputString = new String(a);

JOptionPane.showMessageDialog( null, outputString,

"解密后的字符串为",

JOptionPane.INFORMATION_MESSAGE );

//使用对话框来显示加密后的字符串

}

else

{

JOptionPane.showMessageDialog( null, "输入有误",

"错误提示!",

JOptionPane.INFORMATION_MESSAGE );

}//对非法输入有错误提示

}

}

程序运行结果截图:

Java第四次上课博文动手动脑的更多相关文章

  1. Java(接口与继承)动手动脑

    1>继承条件下的构造方法调用 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改 Parent 构造方法的代码,显式调用 GrandParen ...

  2. java课程课后作业05之动手动脑

    一.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件 此代码没有使用walkfiletree,两者的差别在于walkfiletree在遍历文件的时候有一 ...

  3. java课程课后作业04之动手动脑

    一.多层的异常捕获-1 先贴出代码: public class CatchWho { public static void main(String[] args) { try { try { thro ...

  4. JAVA课程课后作业03之动手动脑

    一.构造函数 问题一: 错误代码如图: 错误原因:从图片中的编译报错的地方来看,程序是在给新的对象分配空间是出现了问题,因而我们往下观察Foo类,Foo类的构造方法是有一个参数的有参方法,而前面构造新 ...

  5. Java课程课后作业02之动手动脑

    一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数 数学算法原理: 可以使用的方法:Math中的random类以及random类,区别:Math中的random类只能用于生成随机数 ...

  6. Java之动手动脑(三)

    日期:2018.10.12 星期五 博客期:017 这次留了两个动手动脑作业!我需要一个一个来说!先说第一个吧! Part 1 :随机生成1000个随机数 代码: //以下为 RandomMaker. ...

  7. 2019-9-16 java上课知识整理总结(动手动脑,课后实验)

    java上课知识整理总结(动手动脑,课后实验) 一,课堂测试 1,题目:课堂测试:像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 “软件” 要求:(1)题目避免重复: (2)可定制( ...

  8. java动手动脑和课后实验型问题第四讲

    1.完全"手写代码实现"随机数生成 动手动脑: 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. Modulus=231-1=int.MaxValue Mult ...

  9. Java动手动脑第四讲课堂作业

    动手动脑1 完全“手写代码实现”随机数生成 纯随机数发生器

随机推荐

  1. 浅谈Ubuntu PowerShell——小白入门教程

    早在去年八月份PowerShell就开始开源跨平台了,但是一直没有去尝试,叫做PowerShell Core. 这里打算简单介绍一下如何安装和简单使用,为还不知道PowerShell Core on ...

  2. JS学习笔记——JavaScript继承的6种方法(原型链、借用构造函数、组合、原型式、寄生式、寄生组合式)

    JavaScript继承的6种方法 1,原型链继承 2,借用构造函数继承 3,组合继承(原型+借用构造) 4,原型式继承 5,寄生式继承 6,寄生组合式继承 1.原型链继承. <script t ...

  3. 将页面内容转换Pdf\Word\Excel格式

    项目中用到了将邮件内容转换为Pdf.Word.Excel格式,做为邮件附件发送. 查了一些解决方案,走了一些弯路.以此代码记录下. 转换PDF需要下载NReco.PdfGenerator.dll 以下 ...

  4. Nmap脚本文件分析(AMQP协议为例)

    Nmap脚本文件分析(AMQP协议为例) 一.介绍 上两篇文章 Nmap脚本引擎原理   编写自己的Nmap(NSE)脚本,分析了Nmap脚本引擎的执行过程,以及脚本文件的编写,这篇文章将以解析AMQ ...

  5. [0] TFS 分支/标签

    比较常见的版本控制分支策略有三种:不稳定主干策略.稳定主干策略.敏捷发布策略. 下面是对这几种策略的摘录: 不稳定主干策略 使用用主干作为新功能开发主线,分支用作发布. 被广泛的应用于开源项目. 比较 ...

  6. MiniProfiler使用点滴记录-2017年6月23日11:08:23

    1.看似针对同样一段查询表ef达式,重复执行却没有被记录下来.其实这是正常情况,因为ef并没有重复去执行 相同sql查询. 2.MiniProfiler结合MVC过滤器进行 拦截记录Sql,示例代码: ...

  7. Mybatis传参方式

    Mybatis传多个参数(三种解决方案) 据我目前接触到的传多个参数的方案有三种. 第一种方案  DAO层的函数方法 ? 1 Public User selectUser(String name,St ...

  8. Vim按Esc后光标左移问题的解决

    参考了这篇文章http://vim.wikia.com/wiki/Prevent_escape_from_moving_the_cursor_one_character_to_the_left 在Vi ...

  9. Android远程桌面助手

    很早之前,做过一个<WinCE远程桌面助手>,在没有屏幕或者在调试LCD驱动时,发挥了很大作用,平日开发也是必备.后来还被网友用于处理一些疑难问题,如无法输入开机密码时可通过该工具远程输入 ...

  10. SQL SERVER 删除前判断指定的表或者存储过程是否存在

    1.创建存储过程: CREATE PROCEDURE proc_pr ---将create修改成alter可以修改存储过程: AS BEGIN IF EXISTS(SELECT * FROM syso ...