JAVA进阶1
间歇性混吃等死,持续性踌躇满志系列-------------第1天
1、冒泡排序法
import java.util.Arrays; public class SumNum{
public static void main(String[] args){
int[] array = new int[]{43,23,1,64,32}; //声明并初始化一维数组
System.out.println("冒泡排序法的过程是:");
for(int i =1;i<array.length;i++){
for(int j =0;j<array.length-i;j++){ //比较相邻两个元素,较大的数往后冒泡
if(array[j]>array[j+1]){
int temp = array[j]; //把第一个元素值保持到临时变量中
array[j] = array[j+1]; //把第二个元素值保存到第一个元素单元中
array[j+1] =temp; //把第一个元素原值保存到第二个元素中
}
System.out.print(array[j]+" "); //把排序后的数组元素显示到文本域中
}
System.out.print("【");
for(int j = array.length-i;j<array.length;j++){
System.out.print(array[j]+" "); //把排序后的数组元素显示到文本域中
}
System.out.println("】");
}
}
}
运行结果截图
2、输出九宫格
public class SumNum{
public static void main(String[] args){
int arr[][] = new int[3][3]; //创建一个3阶矩阵
int a =2; //第3行的行下标
int b =3/2; //第2列的列下标
for(int i=1;i<=9;i++){ //给数组赋值
arr[a++][b++] = i;
if(i%3==0){ //如果i是3的倍数
a =a-2;
b =b-1;
}else{ //不是3的倍数
a = a%3;
b = b%3;
}
}
System.out.println("输出九宫格:"); //遍历输出九宫格
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(arr[i][j]+" ");
}
System.out.print("\n");
}
}
}
运行结果截图
3、实现字符串加密
public class SumNum{
public static String EandU(String value,char secret){ //对value加密,secret密文字符
byte[] bt = value.getBytes(); //将需要加密的内容转换为字节数组
for(int i =0;i<bt.length;i++){
bt[i] =(byte)(bt[i]^(int)secret); //通过异或运算进行加密
}
return new String(bt,0,bt.length); //返回加密后的字符串
}
public static void main(String[] args){
String value = "你好时间"; //需要加密的字符内容
char secret = '祈'; //密文字符
System.out.println("原字符串为:"+value);
String encrypt = SumNum.EandU(value,secret); //加密
System.out.println("加密后的值"+encrypt);
String uncrypt = SumNum.EandU(encrypt,secret); //解密
System.out.println("解密后的值:"+uncrypt);
}
}
4、对象的比较
public class SumNum{
public static void main(String[] args){
String c1 =new String("avsdf"); //创建两个String型对象
String c2 =new String("avsdf");
String c3=c1; //将c1对象引用赋予c3
System.out.println("c2==c3的运算结果为:"+(c2==c3)); //使用==比较c2,c3
System.out.println("c2.equals(c3)的运算结果为:"+(c2.equals(c3))); //使用equals比较c2,c3
}
}
运行结果截图
5、汉诺塔问题
public class SumNum{
public static void moveDish(int level,char from,char inter,char to){
if(level==1){ //如果只有一个盘子就退出迭代
System.out.println("从"+from+"移动盘子1号到"+to);
}else{ //如果有大于一个盘子就继续迭代
moveDish(level-1,from,to,inter);
System.out.println("从"+from +"移动盘子"+level+" 号到"+to);
moveDish(level-1,inter,from,to);
}
}
public static void main(String[] args){
int sDisks =3; //设置汉诺塔为3阶
moveDish(sDisks,'A','B','C'); //实现移动算法
}
}
运行结果截图
JAVA进阶1的更多相关文章
- Java 进阶 hello world! - 中级程序员之路
Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...
- Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式
原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...
- Java线程间通信方式剖析——Java进阶(四)
原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...
- Java进阶(三)多线程开发关键技术
原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...
- 当我们说线程安全时,到底在说什么——Java进阶系列(二)
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...
- Java进阶03 IO基础
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...
- Java进阶01 String类
链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com ...
- 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)
本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...
- Java进阶(七)正确理解Thread Local的原理与适用场景
原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...
- Java进阶(四十七)Socket通信
Java进阶(四十七)Socket通信 今天讲解一个 Hello Word 级别的 Java Socket 通信的例子.具体通讯过程如下: 先启动Server端,进入一个死循环以便一直监听某端口是 ...
随机推荐
- 团体程序设计天梯赛(CCCC) L3009 长城 方法证明
团体程序设计天梯赛代码.体现代码技巧,比赛技巧. https://github.com/congmingyige/cccc_code
- TestNg 9. 参数化测试-DataProvider参数化
首先利用@DataProvider(name = "XXX")的属性,将name的值XXX 传递给 @Test(dataProvider = "XXX") 看以 ...
- bigdata learning unit two--Spark environment setting
1.下载 Spark安装之前的准备 文件的解压与改名 tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz rm -rf spark-2.2.0-bin-hadoop2.7. ...
- mysql 游标的使用方法
BEGIN /*计算用户提成总金额*/ declare amountPrice,pays,rates,goodsPrice DECIMAL(10,2) DEFAULT 0; DECLARE flag ...
- Ajax和Json的介绍(一)
Ajax简介: 优点: 1.Ajax是一种网页开发技术,异步JavaScript和XML;(这样叫的原因是是因为ajax传递数据是用json格式的,而json和xml又类似,都是以键值对,josn是& ...
- linux服务器,发现大量TIME_WAIT
linux服务器,发现大量TIME_WAIT 今天登陆linux服务器,发现大量TIME_WAIT参考资料:http://coolnull.com/3605.html 酷喃|coolnull| » 大 ...
- bzoj2049 线段树 + 可撤销并查集
https://www.lydsy.com/JudgeOnline/problem.php?id=2049 线段树真神奇 题意:给出一波操作,拆边加边以及询问两点是否联通. 听说常规方法是在线LCT, ...
- python对象继承
继承允许我们在两个或者更多的类之间创建一种“是一个”的关系,这种关系把共同的细节抽象到一个超类里. 从技术上讲,每一个我们创建的类都使用了继承,所有的python类都是一个叫做object的特殊类的子 ...
- 2017-12-15python全栈9期第二天第四节之格式化输出%s和个人简介模板
#!/user/bin/python# -*- coding:utf-8 -*-msg = '''-----------info of zd----------------Name:zdage:24h ...
- PSi-Population Stability Index (PSI)
python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId=1005214003&utm_camp ...