间歇性混吃等死,持续性踌躇满志系列-------------第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的更多相关文章

  1. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

  2. Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

    原创文章,同步发自作者个人博客,http://www.jasongj.com/java/nio_reactor/ Java I/O模型 同步 vs. 异步 同步I/O 每个请求必须逐个地被处理,一个请 ...

  3. Java线程间通信方式剖析——Java进阶(四)

    原创文章,同步发自作者个人博客,转载请在文章开头处以超链接注明出处 http://www.jasongj.com/java/thread_communication/ CountDownLatch C ...

  4. Java进阶(三)多线程开发关键技术

    原创文章,同步发自作者个人博客,转载请务必以超链接形式在文章开头处注明出处http://www.jasongj.com/java/multi_thread/. sleep和wait到底什么区别 其实这 ...

  5. 当我们说线程安全时,到底在说什么——Java进阶系列(二)

    原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数 ...

  6. Java进阶03 IO基础

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/11/3000905.html 作者:Vamei 出处:http://www.cnblogs.com ...

  7. Java进阶01 String类

    链接地址:http://www.cnblogs.com/vamei/archive/2013/04/08/3000914.html 作者:Vamei 出处:http://www.cnblogs.com ...

  8. 从ConcurrentHashMap的演进看Java多线程核心技术 Java进阶(六)

    本文分析了HashMap的实现原理,以及resize可能引起死循环和Fast-fail等线程不安全行为.同时结合源码从数据结构,寻址方式,同步方式,计算size等角度分析了JDK 1.7和JDK 1. ...

  9. Java进阶(七)正确理解Thread Local的原理与适用场景

    原创文章,始自发作者个人博客,转载请务必将下面这段话置于文章开头处(保留超链接). 本文转发自技术世界,原文链接 http://www.jasongj.com/java/threadlocal/ Th ...

  10. Java进阶(四十七)Socket通信

    Java进阶(四十七)Socket通信   今天讲解一个 Hello Word 级别的 Java Socket 通信的例子.具体通讯过程如下: 先启动Server端,进入一个死循环以便一直监听某端口是 ...

随机推荐

  1. Python--多线程、多进程常用概念

    一.常用概念 进程 进程就是一个程序在一个数据集上的一次动态执行过程.进程一般由程序.数据集.进程控制块三部分组成. 线程 线程的出现是为了降低上下文切换的消耗,提高系统的并发性,并突破一个进程只能干 ...

  2. SpringCloud-初识

    说道SpringCloud,原来就去了解过,也有很大兴趣,只是当初不知道这是个什么东西.在它之前,我学习Spring,在官网肆无忌惮的逛的时候,发现了SpringBoot,那个时候就打算开始学习Spr ...

  3. POJ 3463 Sightseeing (次短路经数)

    Sightseeing Time Limit: 2000MS   Memory Limit: 65536K Total Submissions:10005   Accepted: 3523 Descr ...

  4. Luogu P3254 圆桌问题

    题目链接 \(Click\) \(Here\) 水题.记得记一下边的流量有没有跑完. #include <bits/stdc++.h> using namespace std; const ...

  5. vue(基础一)_基本指令的使用

    一.前言 1.基本骨架                          2.插值表达式{{ }}   3.vue起的作用,在开发中充当的角色MVC                           ...

  6. python对象-多态

    调用不同的子类将会产生不同的行为,而无须明确知道这个子类实际上是什么. 比如,在一个可以播放音频文件的程序中,媒体播放器可能需要加载一个AudioFile对象然后play它,我们把一个play()的方 ...

  7. maven-compiler-plugin报错

    [INFO] Scanning for projects... [INFO] [INFO] --------------------------< cn.x:credittest >--- ...

  8. ansible-playbook 单个yml文件部署tomcat简单示例

    #单yaml配置[root@jenkins pb]# cat tomcat.yml --- - hosts: eee vars: #设置变量 war_files: /var/lib/jenkins/w ...

  9. SpringBoot笔记十七:热部署

    目录 什么是热部署 Devtools热部署 什么是热部署 热部署,就是在应用正在运行的时候升级软件,却不需要重新启动应用. 举个例子,王者荣耀的更新有时候就是热部署,热更新,就是他提示你更新,更新40 ...

  10. gcc编译出现dlopen、dlerror、dlsym、dlcolse的解决方法

      ➜  test_sqlite3 gcc *.c -I . -o xixi -pthread      /tmp/cckGKTrr.o: In function `unixDlOpen': sqli ...