动手动脑,第六次Tutorial——数组和随机数数组输出及求和

作业课后作业1

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

首先,定义string类型的二维数组,它和类的数组不一样,类的数组分配了空间后不能直接for循环赋值,string类型的数组可以,不会出现赋值给地址的事情。

循环赋值后循环打印。这就是一个15*15的五子棋盘。

取键盘输入的数用inputStr.split(",")把,前的赋给a【0】,后的赋给a【1】再用Integer.parseInt()函数强制把char类型转成int型。得到横纵坐标。

 

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

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

可以,就像这样。

//此程序由。。。师傅座下得意弟子朱峰所写。
//此乃第6次动手动脑银行钱的转换
import java.util.Scanner;

public class dierge {

    static String a,a1,a2;
    
    static void daozhelai (String b)
    {
        for(int i=0;b.length()>i;i++)
        {
            switch(b.charAt(i))
            {
            case '1':System.out.print("");break;
            case '2':System.out.print("");break;
            case '3':System.out.print("");break;
            case '4':System.out.print("");break;
            case '5':System.out.print("");break;
            case '6':System.out.print("");break;
            case '7':System.out.print("");break;
            case '8':System.out.print("");break;
            case '9':System.out.print("");break;
            case '0':System.out.print("");break;
            }
            switch(b.length()-1-i)
            {
            case 0:System.out.print("");break;
            case 1:System.out.print("");break;
            case 2:System.out.print("");break;
            case 3:System.out.print("");break;
            case 4:System.out.print("");break;
            case 5:System.out.print("");break;
            case 6:System.out.print("");break;
            case 7:System.out.print("");break;
            case 8:System.out.print("亿");break;
            case 9:System.out.print("");break;
            }
        }
    }
    static void buzhidaoa (String b)
    {
        for(int j=0;b.length()>j;j++)
        {
        switch(b.charAt(j))
        {
        case '1':System.out.print("");break;
        case '2':System.out.print("");break;
        case '3':System.out.print("");break;
        case '4':System.out.print("");break;
        case '5':System.out.print("");break;
        case '6':System.out.print("");break;
        case '7':System.out.print("");break;
        case '8':System.out.print("");break;
        case '9':System.out.print("");break;
        case '0':System.out.print("");break;
        }
        switch(j)
        {
        case 0:System.out.print("");break;
        case 1:System.out.print("");break;
        case 2:System.out.print("");break;
        case 3:System.out.print("");break;
        }
        }
    }
    public static void main(String[] args) {
        Scanner in=new Scanner(System.in);
        a=in.nextLine();
        a1=new String();
        a2=new String();
        
        if (a.indexOf('.')!=-1)
        {
        a1=a.substring(0,a.indexOf('.'));
        a2=a.substring(a.indexOf('.')+1);
        daozhelai(a1);
        buzhidaoa(a2);
        }
        else daozhelai(a);
    }
}
View Code

 

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

要求:

1)用你的大数类实现加和减两个功能

2)阅读BigInteger类源码,弄清楚它是使用什么算法实现加减乘除四种运算的?

3)通过互联网查找大数运算的相关资料,给你的大数类添加乘、除、求阶乘等其它功能。

 

作业课后作业2

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

要求将设计思路、程序流程图、源程序代码、结果截图、编程总结等发表到博客园,并备份到课堂派。

//此程序由。。。师傅座下得意弟子朱峰所写。
//
import javax.swing.*;

public class meiyoumingzi
{
    
    public static void main(String[] args)
    {

        int  a[]=new int[10];
        double s=0;
        String b=new String();
        
        for (int i=0;i<10;i++)
        {
            a[i]=(int) (Math.random()*10);
            s+=a[i];
            b+=a[i]+" ";
        }
        JOptionPane.showMessageDialog(null,b+"和为:"+s,"随机数数组输出及求和",JOptionPane.CLOSED_OPTION);
    }
    
}

 

posted @ 2016-11-06 16:19  世界高度  阅读(210)  评论(0编辑  收藏  举报