间歇性混吃等死,持续性踌躇满志系列-------------第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_反射

    利用字符串的形式去对象中寻找成员 导入单个模块: commons为公共模块,inp为输入 func=getattr(commons,inp) 利用反射最大的好处是不用单个单个导入,而通过getattr ...

  2. POJ 2112 Optimal Milking (Dinic + Floyd + 二分)

    Optimal Milking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 19456   Accepted: 6947 ...

  3. java中Comparatable接口和Comparator接口的区别

    1.不同类型的排序规则 .自然排序是什么?   自然排序是一种升序排序.对于不同的数据类型,升序规则不一样:   BigDecimal BigInteger Byte Double Float Int ...

  4. Qt ------ QFileDialog

    QString strFile = QFileDialog::getOpenFileName(this,QStringLiteral("选择Excel文件"),"&quo ...

  5. 使用trash-cli防止rm -rf 误删除带来的灾难(“事前”非“事后”)

    trash-cli是一个使用 python 开发的软件包,包含 trash-put.restore-trash.trash-list.trash-empty.trash-rm等命令,我们可以通过这写命 ...

  6. 强大的 10款 Mac 思维导图和流程图软件推荐

    本文首发于[风云社区 SCOEE],想了解更多mac软件相关内容,可到[风云社区 SCOEE] 今天和大家分享思维导图和流程图工具,思维导图软件可以说应用非常的广,无论是设计工作.开发工作.管理工作都 ...

  7. mybatis多数据源报错

    2018-12-06 16:58:35,709 [ main ] - [ INFO ] [ org.springframework.core.KotlinDetector : 57 ] - Kotli ...

  8. wz

    chcp 437 monkeyrunner wz.py wz.bat #coding=utf-8 from com.android.monkeyrunner import MonkeyDevice,M ...

  9. Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署

    Hadoop生态圈-单点登录框架之CAS(Central Authentication Service)部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.CAS简介 CAS( ...

  10. Java Web服务收到请求时线程的情况

    Web请求线程的状态 在开发中,突然想到了这样的一个问题, Java对每一次Web的请求,是否都会创建一条线程去进行处理呢?也就是说,当一个Class的方法同时有1000个请求访问时,线程是如何运作的 ...