Java第四次上课博文动手动脑
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第四次上课博文动手动脑的更多相关文章
- Java(接口与继承)动手动脑
1>继承条件下的构造方法调用 运行 TestInherits.java 示例,观察输出,注意总结父类与子类之间构造方法的调用关系修改 Parent 构造方法的代码,显式调用 GrandParen ...
- java课程课后作业05之动手动脑
一.使用Files. walkFileTree()找出指定文件夹下所有大于指定大小(比如1M)的文件 此代码没有使用walkfiletree,两者的差别在于walkfiletree在遍历文件的时候有一 ...
- java课程课后作业04之动手动脑
一.多层的异常捕获-1 先贴出代码: public class CatchWho { public static void main(String[] args) { try { try { thro ...
- JAVA课程课后作业03之动手动脑
一.构造函数 问题一: 错误代码如图: 错误原因:从图片中的编译报错的地方来看,程序是在给新的对象分配空间是出现了问题,因而我们往下观察Foo类,Foo类的构造方法是有一个参数的有参方法,而前面构造新 ...
- Java课程课后作业02之动手动脑
一.编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数 数学算法原理: 可以使用的方法:Math中的random类以及random类,区别:Math中的random类只能用于生成随机数 ...
- Java之动手动脑(三)
日期:2018.10.12 星期五 博客期:017 这次留了两个动手动脑作业!我需要一个一个来说!先说第一个吧! Part 1 :随机生成1000个随机数 代码: //以下为 RandomMaker. ...
- 2019-9-16 java上课知识整理总结(动手动脑,课后实验)
java上课知识整理总结(动手动脑,课后实验) 一,课堂测试 1,题目:课堂测试:像二柱子那样,花二十分钟写一个能自动生成30道小学四则运算题目的 “软件” 要求:(1)题目避免重复: (2)可定制( ...
- java动手动脑和课后实验型问题第四讲
1.完全"手写代码实现"随机数生成 动手动脑: 编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数. Modulus=231-1=int.MaxValue Mult ...
- Java动手动脑第四讲课堂作业
动手动脑1 完全“手写代码实现”随机数生成 纯随机数发生器
随机推荐
- window.close()方法对谷歌和火狐浏览器无效
在近期的项目中,遇到了一个问题,就是用户到新浪支付进行操作,操作成功后,指定到一个网页,需求是点击确定,关闭该网页.需求出来以后认为这种就是小菜一碟,直接用 window.close()方法就可以实现 ...
- 使用hashCode()和equals()方法 - Java
在这篇文章中,我将指出我对hashCode()和equals()方法的理解.我将讨论它们的默认实现以及如何正确地覆盖它们.我还将使用Apache Commons包中的实用工具类来实现这些方法. has ...
- 短信发送接口被恶意访问的网络攻击事件(三)定位恶意IP的日志分析脚本
前言 承接前文<短信发送接口被恶意访问的网络攻击事件(二)肉搏战-阻止恶意请求>,文中有讲到一个定位非法IP的shell脚本,现在就来公布一下吧,并没有什么技术难度,只是当时花了些时间去写 ...
- bc计算A股上市新股依次涨停股价
几年的股市可谓惨不忍睹,不提也罢.唯有打新中签的时候,心里稍微有那么一点点的补偿,于是内心就YY可以30板吗,可以40板吗.于是就写了个连板的bc程序,每次中签的时候就运行一下,然后尽情的YY,然而每 ...
- 大数据 Hadoop,Spark和Storm
大数据(Big Data) 大数据,官方定义是指那些数据量特别大.数据类别特别复杂的数据集,这种数据集无法用传统的数据库进行存储,管理和处理.大数据的主要特点为数据量大(Volume),数据类别复 ...
- 【Android Developers Training】 100. 使用Intent修改联系人数据
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- 6.vue如何上传到svn
node_module是不需要上传的,先删掉,然后用tortoiseSvn的TortoiseSVN Repository Browser,ADD folder,选择工程文件,就行,checkout下来 ...
- if和for的几个经典题目
1.有一对幼兔,幼兔1个月后长成小兔,小兔1个月后长成成兔并生下一对幼兔,问几年后有多少对兔子,幼兔.小兔.成兔对数分别是多少. 幼兔 1 小兔 0 成兔 0幼兔 0 小兔 1 成兔 0 幼兔 1 小 ...
- 简单总结一下 XSS
你听说过XSS吗? XSS(Cross-site scripting, 跨站脚本)是一种网站应用程序的安全漏洞攻击,是代码注入的一种. 研究表明,最近几年 XSS 已经超过 "缓冲区溢出&q ...
- MyBatis源码解析【2】构建项目
有了之前的准备,今天就要开始构建学习使用的项目了.废话不多说.开始吧. 首先我用IDEA构建了一个空的maven项目,然后加入了Mybatis的依赖. <dependencies> < ...