请看以下代码
以上代码可以顺利通过编译,并且输出一个“很奇怪”的结果:
[[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);
}
}
运行结果截图: