博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java06作业归档
阅读量:4475 次
发布时间:2019-06-08

本文共 7122 字,大约阅读时间需要 23 分钟。

动手动脑

阅读QiPan.java示例程序了解如何利用二维数组和循环语句绘制五子棋盘。

package 归档作业6;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("\n");        }    }    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的格式:");        }    }}
package 归档作业6;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("\n");        }    }    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的格式:");        }    }}

运行结果:

 

请编写一个程序将一个整数转换为汉字读法字符串。比如“1123”转换为“一千一百二十三”。

/*编写一个程序将一个整数转换为汉字读法字符串。比如“1123”转换为“一千一百二十三”*///陶雨洁 20153152 2016.11.4package 归档作业6;import java.util.Scanner;public class Dxxzh {public static void main(String[] args){    //创建汉字读入法的位数数组    String[] y=new String[]{"","十","百","千","万"};//0,1,2,3,4    String[] z=new String[]{"一","二","三","四","五","六","七","八","九"};    int i=6;int x=0;    //产生意外 报错    while(i>5) {        //读入整数        System.out.println("输入整数(小于等于5位数)");        Scanner sc1= new Scanner(System.in);        x=sc1.nextInt();        i=pdWS(x);    }    //判断数    int j=i;    for(int n=0;n

 运算结果:

更进一步,能否将数字表示的金额改为“汉字表达? 比如将“¥123.52”转换为“壹佰贰拾叁元伍角贰分”。

//与上个程序相比,多了小数部分

package 归档作业6;import java.util.Scanner;public class JEzh {public static void main(String[] args){        String zs[]={"元","十","百","千","万"};    String[] z=new String[]{"一","二","三","四","五","六","七","八","九"};    String[] xs={"","分","角"};    System.out.println("输入转换金钱数额:");    Scanner sc=new Scanner(System.in);    double  je=sc.nextDouble();//Scanner读取类型int double string 都可以    //整数部分金额输出    int a=(int)je;//将double转换为int类型    int i=pdWS(a);    //判断数    int j=i;        for(int n=0;n

运算结果:

  

*前面几讲介绍过JDK所提供的BigInteger能完成大数计算,如果不用它,直接使用数组表达大数,你能实现相同的功能吗?

要求:
(1)用你的大数类实现加和减两个功能
(2)阅读BigInteger类源码,弄清楚它是使用什么算法实现加减乘除四种运算的?
(3)通过互联网查找大数运算的相关资料,给你的大数类添加乘、除、求阶乘等其它功能。

源代码:

package 归档作业6;import java.util.Scanner;import java.math.BigDecimal;public class BigInteger {    public static void main(String[] args) {        // TODO Auto-generated method stub            int aa,bb;      System.out.println("用数组实现大数的加法和减法");      System.out.print("请输入大数a:");      Scanner scan=new Scanner(System.in);      String a=scan.next();      System.out.print("请输入大数b:");     String b=scan.next();     int A[]=new int[100];     int B[]=new int[100];     //用于复杂的乘法和除法     BigDecimal b1 = new BigDecimal(a) ;     BigDecimal b2 = new BigDecimal(b) ;     for(int i=0;i

运算结果:

 

*随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中。

设计思路:创建长度为10的数组,创建随机数生成方法,利用循环产生随机数并且赋给数组。定义全局变量ouput,将数组a[i]循环赋给ouput,利用消息框输出。利用循环使a[i]相加,并使用消息框输出。

程序流程图:

源程序代码:

/*随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中。要求将设计思路、程序流程图、源程序代码、结果截图、编程总结等发表到博客园,并备份到课堂派。*///陶雨洁 20153152 2016.11.4package 归档作业6;import javax.swing.*;public class Scsz {public static void main(String[] args){    //填充数组    int[] x=new int[10];    for(int i=0;i<9;i++){        sc(i);//生成随机数并赋值        x[i]=sc(i);    }        //消息框显示    int  output1=0;//求和    String output2=" ";//输出    for(int i=0;i<10;i++){    output1 +=x[i];    output2 +=" " +x[i];    }    JOptionPane.showMessageDialog(              null, " 数组元素是" +output2, "Results",              JOptionPane.PLAIN_MESSAGE);        JOptionPane.showMessageDialog(              null, "数组元素之和是 " + output1, " Results ",              JOptionPane.PLAIN_MESSAGE);}public static int sc(int n){    double c=Math.pow(2,31)-1;    double  x=(16870*n)%c;    int y = (int)x;    return y;    }}

结果截图:

编程总结:产生随机数的办法可以由时间作为种子避免产生相同数字,全局变量可以将数组转换为字符串。

哦 我的天 ,需要对话框换行输出

用对话框显示:

import javax.swing.JOptionPane;

import javax.swing.JTextArea;

..........................

JTextArea out=new JTextArea(10,11);

           out.setText(output);

           

           JOptionPane.showMessageDialog(null, out,"随机产生10个数,并显示之和",JOptionPane.INFORMATION_MESSAGE);

           

           System.exit(0);

转载于:https://www.cnblogs.com/Amyheartxy/p/6035843.html

你可能感兴趣的文章
编程如写作
查看>>
sql server 事务和锁的作用
查看>>
Nginx安装配置
查看>>
DFS ACM Battle(巧妙爆搜)
查看>>
WebService小白学习 之 使用jdk实现暴露接口 (1)
查看>>
uva 1633 Dyslexic Gollum
查看>>
卡片翻转效果
查看>>
Shell脚本中使用test测试命令测试数值
查看>>
cookie和session
查看>>
C++著名程序库的比较和学习经验(STL.Boost.GUI.XML.网络等等)
查看>>
Spring Boot构建RESTful API与单元测试
查看>>
【JavaScript你需要知道的基础知识~】
查看>>
谷歌搜索语法
查看>>
static 静态变量
查看>>
Java面试题(05)
查看>>
Oracle基础
查看>>
pytest_用例运行级别_模块级
查看>>
HDU多校Round 10
查看>>
JFree图表
查看>>
读/写文件操作
查看>>