数组课后作业

请看以下代码

 

以上代码可以顺利通过编译,并且输出一个“很奇怪”的结果:

[[Ljava.lang.Object;@2a139a55,为什么会这样?

为从数据库读出数据后,存入到list集合上时,如果没有指定要存入的数据的类型,系统会自动赋一个object类型,他是所有类的鼻祖,取出数据要进行转型,转化成想要的数据类型才能显示。

可以修改为:

{

       Object[] arr={“a”,”b”,13};

       for(int i=0;i<arr.length;i++)

          System.out.println(arr[i]);

}

以下代码的输出结果是什么?为什么会有这个结果?

int[]  a  =  {5,  7  ,  20};

int[]  b  =  new  int[4];

System.out.println("b数组的长度为:"  +  b.length);

b  =  a;

System.out.println("b数组的长度为:"  +  b.length);

测试用代码:ArrayInRam.java

结果截图:

 

因为第一次输出的是申请的新的地址空间,第二次输出的时被赋值后的空间,此时b指向的是a的地址。

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

 

运行结果:

 

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

源代码:

//huzejie20161110

 

import javax.swing.*;

 

public class Number {

 

      public static void main(String args[]) {

           

            int num = 0;

 

            String output;

 

            int n[] = new int[10];

 

            for (int i = 0; i < n.length; i++) {

 

                  n[i] = (int) (Math.random() * 100);

 

            }

            output = "随机生成的十个数为:" + " ";

 

            for (int i = 0; i < n.length; i++)

 

                  output += n[i] + " ";

 

            output += " ";

 

            for (int i = 0; i < n.length; i++)

 

                  num += n[i];

 

            output += "这十个数相加等于:+你们;" + num;

 

            JOptionPane.showMessageDialog(null, output, "shuxhu", JOptionPane.INFORMATION_MESSAGE);

      }

}

结果截图:

 

 

能实现比较小的数的转化,但尴尬的是大整数和带零的数不会顺口。

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

设计思路:创建一个长度为十的数组,随机生成十个数依次赋值给数组,然后依次取出,输出,再依次取出求和输出。

程序流程图:

 

程序源代码:

//huzejie2016116

 

import javax.swing.*;

 

public class Number {

 

      public static void main(String args[]) {

           

            int num = 0;

 

            String output;

 

            int n[] = new int[10];

 

            for (int i = 0; i < n.length; i++) {

 

                  n[i] = (int) (Math.random() * 100);

 

            }

            output = "随机生成的十个数为:" + " ";

 

            for (int i = 0; i < n.length; i++)

 

                  output += n[i] + " ";

 

            output += " ";

 

            for (int i = 0; i < n.length; i++)

 

                  num += n[i];

 

            output += "这十个数相加等于:+你们;" + num;

 

            JOptionPane.showMessageDialog(null, output, "shuxhu", JOptionPane.INFORMATION_MESSAGE);

      }

}

运行结果截图:

 

 

 

 

 

原文地址:https://www.cnblogs.com/liulitianxia/p/6076756.html