Java 数组实例——将阿拉伯数字转换为最大写
一维数组
//静态初始化一个数组,不能指定数组长度
int[] arr1=new int[]{1,2,3,4,5};
//可简写为 int[] arr1={1,2,3,4,5}; //动态初始化一个数组,先指定数组长度,以后再逐个赋值
int[] arr2=new int[5];
arr2[0]=1; //也可以先声明,再初始化
//int[] arr3;
//arr3=....... //数组长度
System.out.println("数组arr1的长度:"+arr1.length); /*
foreach循环可以遍历数组、集合,但只能访问元素的值,不能修改。
数组的元素类型必须相同,集合的元素类型可以不同
临时变量表示当前元素
*/
for(int i:arr1){
System.out.println(i);
}
二维数组
//每行的元素个数可不同
//静态初始化一个二维数组,每行都是一个一维数组
int[][] arr1=new int[][]{
{1,2},
{1,2,3},
{1,2,3,4,5}
};
//动态初始化一个二维数组,只需指定行数,列数可缺省,也可写上,以后再逐个元素赋值
int[][] arr2=new int[3][];
//同样可以先声明,再初始化
//int[][] arr3;
//arr3=.....
JDK8自带的Arrays类
JDK8自带的Arrays类,提供了大量操作数组的方法,包括索引、排序、比较、赋值、复制等,均为静态方法。
以parallel开头的方法和缺少此前缀的方法效果完全相同,只是parallel开头的方法利用CPU的并行提高了效率,速度更快
View -> Quick Documentation 查看方法说明的快捷键,IDEA为Ctrl+Q
int[] arr1={1,3,2,5,4};
//复制
int[] arr2=Arrays.copyOf(arr1,arr1.length);
//二分搜索,第二个参数是要搜索的值,返回的索引可能是负数——倒着搜索
System.out.println(Arrays.binarySearch(arr1,2));
//排序
Arrays.sort(arr1);
for(int i:arr1){
System.out.print(i+" ");
}
System.out.println();
//并行排序
Arrays.parallelSort(arr2);
for(int i:arr2){
System.out.print(i+" ");
}
System.out.println();
数组实例——将阿拉伯数字转换为最大写
将阿拉伯数字转换为最大写,比如1234转换为壹仟贰佰叁拾肆。
package my_package;
public class Transform {
private String[] arr1={"零","壹","贰","叁","肆","伍","陆","柒","捌","玖"};
private String[] arr2={"拾","佰","仟","万"};
public static void main(String[] args) {
Transform t=new Transform();
System.out.println(t.transform(12345));
}
public StringBuffer transform(int num){
String str=Integer.toString(num);
int length=str.length();
StringBuffer result=new StringBuffer();
//遍历字符串的每一个字符
for(int i=0;i<length;i++){
//char型数值-相应的阿拉伯数字=48,ASCII码值相差48。比如'3'-3=48
int n=str.charAt(i)-48;
//刚好是对应的
result.append(arr1[n]);
//不是最后一位,且不为0,就加单位
if(i!=length-1 && n!=0){
result.append(arr2[length-i-2]);
}
}
return result;
}
}
以上代码只能实现 万 及以下 的转换。
数组实例——实现棋盘落子
五子棋、连连看、俄罗斯方块、扫雷等常见小游戏,都可以通过二维数组实现。
棋盘落子效果图:




源码:
package my_package; import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader; public class Gobang {
//定义棋盘大小为15*15
private static int BOARD_SIZE=15;
//定义一个二维数组来充当棋盘
private static String[][] board; //初始化棋盘数组
public void initBoard(){
board=new String[BOARD_SIZE][BOARD_SIZE];
//把每个元素赋为“十”
for(int i=0;i<15;i++){
for(int j=0;j<15;j++){
board[i][j]="十";
}
}
} //在控制台打印棋盘
public void printBoard(){
for(int i=0;i<15;i++){
for(int j=0;j<15;j++){
System.out.print(board[i][j]);
}
//打印完一行后换行
System.out.print("\n");
}
} public static void main(String[] args) throws IOException {
Gobang gb=new Gobang();
gb.initBoard();
gb.printBoard(); //接收控制台输入棋盘坐标
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str=null;
System.out.println("请输入落子点的坐标:");
while((str=br.readLine()) != null){
String[] arr=str.split(",");
int x=Integer.parseInt(arr[0]);
int y=Integer.parseInt(arr[1]); //需要先判断该点是否已有子,若已有子,则不能再落子。此处省略 board[x-1][y-1]="●";
//刷新
gb.printBoard();; //每次落子后需判断输赢,进行4次循环扫描,横、竖、左斜、右斜,看是否有5子连着,没有就接着下。此处省略 System.out.println("请输入落子点的坐标:");
}
} }
Java 数组实例——将阿拉伯数字转换为最大写的更多相关文章
- Java 阿拉伯数字转换为中文大写数字
Java 阿拉伯数字转换为中文大写数字 /** * <html> * <body> * <P> Copyright 1994 JsonInternational&l ...
- JAVA 数组实例-求学生平均成绩,与计算数组的长度
实例: 知识点:数组名.length是计算数组的长度 import java.util.*; //求学生平均分成绩 public class Test{ public static void main ...
- JAVA 数组实例-求学生成绩的最大成绩,获取数组中的最大值、最小值
实例: import java.util.*; //求学生最大成绩 public class Test{ public static void main(String[] args){ System. ...
- Java 数组实例——实现棋盘落子
五子棋.连连看.俄罗斯方块.扫雷等常见小游戏,都可以通过二维数组实现. 棋盘落子效果图: 源码: package my_package; import java.io.BufferedReader; ...
- 把Java数组转换为List时的注意事项
本文由 ImportNew - 飘扬叶 翻译自 mlangc.欢迎加入翻译小组.转载请见文末要求. 不幸的是并不是每件事都尽如人意.举个例子,现在将一个Java数组转换为List.当然,我们可以使用A ...
- 对java数组的一些理解
刚开始学习Java的时候一直搞不清除获取数组的长度是用length()还是length,现在不妨来深入了解一下数组的真实面目. 我们不妨来看一下数组的源码,诶,数组的类名叫什么?我们声明一个int数组 ...
- Java - 数组解析
java提高篇(十八)-----数组之一:认识JAVA数组 一.什么是数组 数组?什么是数组?在我印象中的数组是应该这样的:通过new关键字创建并组装他们,通过使用整形索引值访问它的元素,并且它的尺寸 ...
- Java 数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...
- 第5章 Java数组
1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...
随机推荐
- [RN] React Native Image 实现placeholder占位图
React Native Image 实现placeholder占位图 react-native Image没有placeholder这样的props,但是业务有需要这种场景, 解决方法为: 使用Im ...
- [考试]NOIP2015模拟题2
// 此博文为迁移而来,写于2015年7月22日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102w72i.html 1.总 ...
- 第03组 Beta冲刺(4/4)
队名:不等式方程组 组长博客 作业博客 团队项目进度 组员一:张逸杰(组长) 过去两天完成的任务: 文字/口头描述: 制定了初步的项目计划,并开始学习一些推荐.搜索类算法 GitHub签入纪录: 暂无 ...
- TCP四次挥手客户端关闭链接为什么要等待2倍MSL
最长报文寿命 在TCP协议中,当发送方发送释放连接报文收到确认报文后,只是在一个方向上断开了TCP连接,然后,接收方发送释放连接的报文,发送方回复确认.此时,连接还没有释放,发送方要等待2MSL(ma ...
- webpack的一些坑
最近自己着手做一个小的Demo需要webpack,目前版本号是4.41.2,想使用的版本是3.6.0,因3x版本和4x版本很多地方不同,所以在安装过程中也是很多坎坷,下面是遇到的一些坑,和一些解决办法 ...
- Spring Boot 2.2.2 发布,新增 2 个新特性!
Spring Boot 2.2.2 发布咯! Spring Boot 2.2.1 发布,一个有点坑的版本! 2.2.1 发布没过一个月,2.2.2 就来了. Maven依赖给大家奉上: <dep ...
- 【C/C++开发】emplace_back() 和 push_back 的区别
在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放 ...
- losetup命令使用
1.losetup命令 Linux系统losetup命令用来设置循坏设备,循坏设备可以把文件虚拟成块设备,借此来模拟整个文件系统,让用户得以将其视为硬盘驱动器,光驱等设备,并挂入当作目录来使用. (1 ...
- FEL表达式的用法
Fel是开放的,引擎执行中的多个模块都可以扩展或替换.Fel的执行主要是通过函数实现,运算符(+.-等都是Fel函数),所有这些函数都是可以替换的,扩展函数也非常简单. Fel有双引擎,同时支持解释执 ...
- Scala2.12 从入门到精通实战高端视频课程(含网盘下载地址)
Scala快速入门到精通 下载地址链接:https://pan.baidu.com/s/1bTSZSlWftFYaLQL6lVH62A 提取码:ohfk 下载后使用视频中自带的专用播放器打开视频就能看 ...