1. Ljava.lang.Object;@ba8a1dc问题
public class We {
public static void main(String[] args)
{
Object[] arr={"a","b",13};
System.out.println(arr);
}
}
原因:java的Object数组不能转换成为String[]数组,说明要转换的数组它本身是Object类型的,但是要把它转换为String类的数组,这是错误的。在遇到类型转换出错的时候,首先要观察被转换的对象的原来类型是什么,这个就需要首先把它转换成为自己本来的类型的对象,然后根据这个对象再去操作里面的元素,再一次的转换类型,而且有的时候被分析的对象可能有多层的包装,在转换的过程中需要多层的解开,一层一层的剥开它本来的类型,直到获取到对象的最终类型,然后把不能再分解的类型转换成为自己目标类型的对象。
2.随机生成10个数,填充一个数组,然后用消息框显示数组内容,接着计算数组元素的和,将结果也显示在消息框中。
要求写出设计思路、程序流程图、源程序代码、结果截图、编程总结
设计思路:首先定义一个数组,然后随机产生10个数给数组赋值,然后赋值给数组,然后将他们赋值给一个字符串,然后求和,赋值给一个整型变量,然后加到字符串的后面形成新字符串,最后创建对话框,输出字符串。
程序流程图:
源程序代码:
import javax.swing.JOptionPane;
public class Shuzuqiuhe {
public static void main(String[] args){
int a[],sum=0;
a=new int[10];
String output=new String();
for(int i=0;i<a.length;i++)
{
a[i]=(int)(Math.random()*100);
}
output+="a[10]={";
for(int i=0;i<a.length;i++)
{
output+=a[i]+" ";
}
output+="}";
for(int i=0;i<a.length;i++)
{
sum+=a[i];
}
output+=" sum:"+sum;
JOptionPane.showMessageDialog(null, output,"结果",
JOptionPane.PLAIN_MESSAGE);
}
}
结果截图:
编程总结:编写该程序是一定要注意刚开始定义时数组和字符串的初始化,否则将会出现错误。