zoukankan      html  css  js  c++  java
  • 数组课后作业

    1、随机产生十个数,并计算和

    代码:

    import javax.swing.*;
    
    public class SuiJiShu{
        public static void main(String[] args){
            String output = "";
            int num = 0;
            int n[] = new int[10];
            for(int i = 0;i < n.length;i++)
            {
                n[i] = (int)(Math.random()*100+1);//从1到100中产生随机数
            }
            
            output +="Subscript	Value
    ";
            
            for(int i = 0;i < n.length;i++)
            {
                output += i + "	" + n[i] + "
    ";
                num += n[i];
            }
            
            JTextArea outputArea = new JTextArea(11,10);
            outputArea.setText(output);
            
            JOptionPane.showMessageDialog(null,outputArea,"Initializing an SuiJiShu with a Declaration",JOptionPane.INFORMATION_MESSAGE);
            JOptionPane.showMessageDialog(null,num,"数组中所有元素的和:",JOptionPane.INFORMATION_MESSAGE);
            
            System.exit(0);
        }
    }


    程序流程图:

    结果截图:

    程序设计思想:

    先定义一个空的数组,然后用main.random方法产生随机数,用for循环把数插入到string对象中,最后for循环计算和。

    2、写一个程序将整数转换成汉字的读法

    代码:

    public class Num2Rmb
    
    {
    
      private String[] hanArr = {"零" , "壹" , "贰" , "叁" , "肆" ,
    
            "伍" , "陆" , "柒" , "捌" , "玖"};
    
      private String[] unitArr = {"十" , "百" , "千","万","十万","百万"};
    
      /**
    
       * 把一个四位的数字字符串变成汉字字符串
    
       * @param numStr 需要被转换的四位的数字字符串
    
       * @return 四位的数字字符串被转换成的汉字字符串。
    
       */
    
      private String toHanStr(String numStr)
    
      {
    
            String result = "";
    
            int numLen = numStr.length();
    
            //依次遍历数字字符串的每一位数字
    
            for (int i = 0 ; i < numLen ; i++ )
    
            {
    
                 //把char型数字转换成的int型数字,因为它们的ASCII码值恰好相差48
    
                 //因此把char型数字减去48得到int型数字,例如'4'被转换成4。
    
                 int num = numStr.charAt(i) - 48;
    
                 //如果不是最后一位数字,而且数字不是零,则需要添加单位(千、百、十)
    
                 if ( i != numLen - 1 && num != 0)
    
                 {
    
                       result += hanArr[num] + unitArr[numLen - 2 - i];
    
                 }
    
                 //否则不要添加单位
    
                 else
    
                 {
    
                      
    
                       //上一个数是否为“零”,不为“零”时就添加
    
                       if(result.length()>0 && hanArr[num].equals("零") && result.charAt(result.length()-1)=='零')
    
                             continue;
    
                       result += hanArr[num];
    
                 }
    
            }
    
            //只有个位数,直接返回
    
            if(result.length()==1)
    
                 return result;
    
            int index=result.length()-1;
    
            while(result.charAt(index)=='零'){
    
                 index--;
    
            }
    
            if(index!=result.length()-1)
    
                 return result.substring(0,index+1);
    
            else {
    
                 return result;
    
            }
    
      }
    
        public static void main(String[] args)
    
        {       
    
            Num2Rmb nr = new Num2Rmb();
    
            System.out.println("只支持整数(0~百万)");
    
            //测试把一个四位的数字字符串变成汉字字符串
    
            System.out.println(nr.toHanStr("0"));
    
            System.out.println(nr.toHanStr("1"));
    
            System.out.println(nr.toHanStr("10"));
    
            System.out.println(nr.toHanStr("15"));
    
            System.out.println(nr.toHanStr("110"));
    
            System.out.println(nr.toHanStr("123"));
    
            System.out.println(nr.toHanStr("105"));
    
            System.out.println(nr.toHanStr("1000"));
    
            System.out.println(nr.toHanStr("1100"));
    
            System.out.println(nr.toHanStr("1110"));
    
            System.out.println(nr.toHanStr("1005"));
    
            System.out.println(nr.toHanStr("1105"));
    
            System.out.println(nr.toHanStr("1111"));
    
            System.out.println(nr.toHanStr("10000"));
    
            System.out.println(nr.toHanStr("10001"));
    
            System.out.println(nr.toHanStr("10011"));
    
            System.out.println(nr.toHanStr("10111"));
    
            System.out.println(nr.toHanStr("11111"));
    
            System.out.println(nr.toHanStr("11000"));
    
            System.out.println(nr.toHanStr("11100"));
    
            System.out.println(nr.toHanStr("11110"));
    
            System.out.println(nr.toHanStr("101110"));
    
            System.out.println(nr.toHanStr("1001110"));
    
        }
    
    }

    验证结果截图:

    3、阅读程序WhatDoesThisDo.java, 解释程序所完成的功能。

    public class WhatDoesThisDo {
    
      static int result;//int型静态变量
    
      static String output;
    
      public static void main(String[] args) {
    
            int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };//初始化十个数
    
            result = whatIsThis(a, a.length);//迭代调用
    
            output = "Result is: " + result;
    
            System.out.println(output);
    
      }
    
      public static int whatIsThis(int b[], int size) {
    
            if (size == 1)
    
                 return b[0];
    
            else
    
                 return b[size - 1] + whatIsThis(b, size - 1);//迭代调用实现由最后一个数到第一个数的相加
    
      }
    
    }

    验证截图:

    4、阅读程序WhatDoesThisDo2.java, 解释程序所完成的功能。

    代码:

    public class WhatDoesThisDo2 {
    
      public static void main(String[] args) {
    
            int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };//初始化十个数
    
            StringBuilder sbBuilder=new StringBuilder();//创建一个StringBuilder对象
    
            someFunction(a, 0, sbBuilder);//调用函数someFunction
    
            System.out.println(sbBuilder);//输出
    
      }
    
      public static void someFunction(int b[], int x, StringBuilder out) {
    
            if (x < b.length) {
    
                 someFunction(b, x + 1, out);//迭代调用函数实现倒序输入
    
                 out.append(b[x] + "  ");//在每一个后面后继添加
    
            }
    
      }
    
    }

    验证截图:

  • 相关阅读:
    Avizo
    NEWS
    HOWTO
    InstallShield 2012 Spring优惠升级到最新版本(2015.4.30之前)
    Windows系统补丁KB2962872导致InstallShield无法启动(解决方案已更新)
    HOWTO: InstallScript MSI工程取Log
    安装软件列表
    阿里云推荐码 hut29f
    ios 缺少合规证明
    ios开发错误之: Undefined symbols for architecture x86_64
  • 原文地址:https://www.cnblogs.com/lk0823/p/4931139.html
Copyright © 2011-2022 走看看