package com.feng.test.test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* <br>数组实现五子棋小游戏</br>
* <br>没完善</br>
* @author Lenovo *
*/
public class TestArrayGobang {
//定义棋盘的大小
private static int BOARD_SIZE = 15;
//定义一个二维数组来充当棋盘
private String[][] board;
public void initBoard(){
//初始化棋盘数组
board = new String[BOARD_SIZE][BOARD_SIZE];
//把每个元素赋值为“+”,用于控制台输出棋盘
for(int i = 0;i < BOARD_SIZE;i++){
for(int j = 0;j < BOARD_SIZE;j++){
board[i][j] = "+";
}
}
}
//在控制台输出棋盘
public void printBoard(){
for(int i = 0;i < BOARD_SIZE;i++){
for(int j = 0;j < BOARD_SIZE;j++){
System.out.print(board[i][j]);
}
System.out.print("\n");
}
}
public static void main(String[] args) throws IOException{
TestArrayGobang gb = new TestArrayGobang();
gb.initBoard();
gb.printBoard();
System.out.println("请输入您下棋的坐标,应以x,y的格式:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String inputStr = null;
while((inputStr = br.readLine()) != null){
String [] posStrArr = inputStr.split(",");
int xPos = Integer.parseInt(posStrArr[0]);
int yPos = Integer.parseInt(posStrArr[1]);
gb.board[yPos - 1][xPos - 1] = "*";
gb.printBoard();
System.out.println("请输入您下棋的坐标,应以x,y的格式:");
}
}
}
package com.feng.test.test;
import java.util.Arrays;
/**
*
* <br>实现阿拉伯数字,转大写中文数字</br>
* <br>没有完善</br>
* @author Lenovo
*
*/
public class TestArrayNum2Rmb {
private String[] hanArr = {"零","壹","贰","叄","肆","伍","陆","柒","捌","玖"};
private String[] unitArr = {"十","百","千"};
/**
* <br>把一个浮点数分解成整数部分和小数部分字符串</br>
* @param num 需要被分解的浮点数
* @return String[] 分解出来的整数部分和小数部分,第一个数组元素是整数部分,第二个是小数部分
*/
private String[] divide(double num){
//将一个浮点数强制类型转换为long型,即得到它的整数部分
long zheng = (long)num;
//浮点数减去整数部分,得到小数部分,小数部分乘以100后取得2位小数
long xiao = Math.round((num - zheng)*100);//四舍五入
//下面用了两种方法把整数转换为字符串
return new String[]{zheng+"",String.valueOf(xiao)};
}
/**
* <br>把一个四位的数字字符串变成汉字字符串</br>
* @param numStr 需要被转换的四位的数字字符串
* @return String 汉字字符串
*/
private String toHanStr(String numStr){
String result = "";
int numLen = numStr.length();
for(int i = 0;i < numLen;i++){
//把char型数字转换成int型数字,它们的ASCII码值恰好相差48,‘4’转换成4
int num = numStr.charAt(i) - 48;
//如果不是最后一位数字,而且数字不是零,则需要添加单位(千、百、十)
if(i != numLen - 1 && num != 0){
result += hanArr[num] + unitArr[numLen - 2 -i];
}else{
result += hanArr[num];
}
}
return result;
}
public static void main(String[] args){
TestArrayNum2Rmb nr = new TestArrayNum2Rmb();
//把一个浮点数分成整数部分和小数部分
System.out.println(Arrays.toString(nr.divide(23456777.545454)));//[23456777, 55]
//把一个四位的数字字符串变成汉字字符串
System.out.println(nr.toHanStr("6090"));//陆千壹百零玖
}
}