课后作业
一、
题目内容:随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中。
设计思路:
1、随机生成10个数;
2、生成一个数组;
3、然后用消息框显示数组内容;
4、接着计算数组元素的和;
5、最后将结果也显示在消息框中。
程序流程图:
源代码:
import java.util.Random;
import javax.swing.JOptionPane;
public class Homework {
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a=new int[10];
int sum=0;
String output = null;
output="计算机产生的1到99的10个随机数是:";
for(int i=0;i<a.length;i++)
{
a[i] = new Random().nextInt(99)+1;//随机产生1-99的一个数字
output+="a["+(i+1)+"]= "+a[i]+" ";
}
for(int i=0;i<a.length;i++)
sum=sum+a[i];
output+="这10个数的和是:"+sum;
JOptionPane.showConfirmDialog(null,output);
}
}
结果截图:
编程总结:
在Java中我们可以使用java.util.Random类来产生一个随机数发生器。随机数发生器(Random)对象产生以后,通过调用不同的method:nextInt()、nextLong()、nextFloat()、nextDouble()等获得不同类型随机数。Java实用工具类库中的类java.util.Random提供了产生各种类型随机数的方法。它可以产生int、 long、float、double以 及Goussian等类型的随机数。这也是它与java.lang.Math中的方法Random()最大的不同之处,后者只产生double型的随机数。
二、
请看以下代码:
public static void main(String[] args)
{
object[] arr={“a”,”b”,13};
System.out.println(arr);
}
上述代码可以顺利通过编译,并且输出一个“很奇怪”的结果:
Ljava.lang.Object;@ba8a1dc
为什么会这样?学到后面就明白了,此处先不求甚解。
答:因为从数据库读出数据后,存入到list集合上时,如果没有指定要存入的数据的类型,系统会自动赋一个object类型,取出数据要进行转型,转化成想要的数据类型才能显示。它的值等于getClass().getName() + '@' + Integer.toHexString(hashCode())Object 类的 toString 方法返回一个字符串,该字符串由类名(对象是该类的一个实例)、at 标记符“@”和此对象哈希码的无符号十六进制表示组成。