• 课堂练习——数组


    一、阅读并运行示例PassArray.java,观察并分析程序输出的结果,小结。

      运行结果:

      使用引用传递的时候,如果方法中有代码更改了数组元素的值,实际上是直接修改了原始的数组元素。

        按值传送数组类型则没有这个问题,方法体中修改的仅是原始数组元素的一个拷贝。

    二、请编写一个程序将一个整数转换为汉字读法字符串

    public class Javapingshi {

    private static final char[] data = new char[] { '零', '壹', '贰', '叁', '肆',
    '伍', '陆', '柒', '捌', '玖' };
    private static final char[] units = new char[] { '元', '拾', '佰', '仟', '万',
    '拾', '佰', '仟', '亿' };

    public static void main(String[] args) {
    System.out.println(convert(135689123));
    }

    public static String convert(int money) {
    StringBuffer sbf = new StringBuffer();
    int unit = 0;
    while (money != 0) {
    sbf.insert(0, units[unit++]);
    int number = money % 10;
    sbf.insert(0, data[number]);
    money /= 10;
    }
    return sbf.toString();
    }
    }

    三、十个随机数求和 

    import java.util.Random;

    public class Javapingshi {
    public static void main(String[] args) {
    int numOfArray=10;//数组大小
    int[] intArray=new int[numOfArray];
    int num=100;//生成的整数在0-99之间,包括0和99
    int sum=0;//总和
    Random ran=new Random();
    int randomNum=0;//每次产生的随机数
    for(int i=0;i<intArray.length;i++){
    randomNum=ran.nextInt(num);
    intArray[i]=randomNum;
    sum+=randomNum;
    System.out.println("随机数为:"+randomNum);
    }
    System.out.println("总和为:"+sum);

    }
    }

    四,大数计算

    import java.math.BigInteger;
    public class Javapingshi {
    public static void main(String[] args) {
    BigInteger aa =new BigInteger("10");
    BigInteger bb= new BigInteger("10");
    BigInteger sub=aa.subtract(bb);//大整数的减
    BigInteger add=aa.add(bb);//大整数的加
    BigInteger mul=aa.multiply(bb);//大整数的乘
    BigInteger div=aa.divide(bb);//大整数的除
    System.out.println("大整数的减:"+sub.toString());
    System.out.println("大整数的加:"+add.toString());
    System.out.println("大整数的乘:"+mul.toString());
    System.out.println("大整数的除:"+div.toString());
    }
    }

     

    五.棋盘


    import java.io.*;

    public class QiPan
    {
    //定义一个二维数组来充当棋盘
    private String[][] board;
    //定义棋盘的大小
    private static int BOARD_SIZE = 15;
    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(" ");
    }
    }
    public static void main(String[] args)throws Exception
    {
    QiPan gb = new QiPan();
    gb.initBoard();
    gb.printBoard();
    //这是用于获取键盘输入的方法
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    String inputStr = null;
    System.out.println("请输入您下棋的座标,应以x,y的格式:");
    //br.readLine():每当在键盘上输入一行内容按回车,刚输入的内容将被br读取到。
    while ((inputStr = br.readLine()) != null)
    {
    //将用户输入的字符串以逗号(,)作为分隔符,分隔成2个字符串
    String[] posStrArr = inputStr.split(",");
    //将2个字符串转换成用户下棋的座标
    int xPos = Integer.parseInt(posStrArr[0]);
    int yPos = Integer.parseInt(posStrArr[1]);
    //把对应的数组元素赋为"●"。
    gb.board[xPos - 1][yPos - 1] = "●";
    /*
    电脑随机生成2个整数,作为电脑下棋的座标,赋给board数组。
    还涉及
    1.座标的有效性,只能是数字,不能超出棋盘范围
    2.如果下的棋的点,不能重复下棋。
    3.每次下棋后,需要扫描谁赢了
    */
    gb.printBoard();
    System.out.println("请输入您下棋的座标,应以x,y的格式:");
    }
    }
    }

     

  • 相关阅读:
    gitlab pipeline optimize 效率优化
    gitlab pipeline 构建容器镜像方法
    软件学习目录索引
    面试题收集
    【docker】4种网络模式
    GeoIP库商业版调研支持IPV6
    MySQL在线开启GTID模式
    Linux IO分析
    一个宝藏级微服务开源项目,是真的牛批!
    powerdesigner 如何设置name和code不自动同步
  • 原文地址:https://www.cnblogs.com/qq1499632156/p/6036639.html
Copyright © 2020-2023  润新知