哪位大神可以看看我这个java程序哪错了每次都是运行出错
classCircle{privateintradia;publicvoidsetRadia(intradia){this.radia=radia;}publicintg...
class Circle{
private int radia;
public void setRadia(int radia){
this.radia=radia;
}
public int getRadia(){
return radia;
}
public double area(){
return radia*radia*3.14;
}
public Circle(int radia){
this.radia=radia;
}
public Circle(){}
}
public class Test1{
public static void main(String[] args){
Circle[] a=new Circle[10];
for(int i=0;i<10;i++){
a[i].setRadia((int)(Math.random(10)));
System.out.println("十个圆的面积依次是:"+a[i].area());
}
}
} 展开
private int radia;
public void setRadia(int radia){
this.radia=radia;
}
public int getRadia(){
return radia;
}
public double area(){
return radia*radia*3.14;
}
public Circle(int radia){
this.radia=radia;
}
public Circle(){}
}
public class Test1{
public static void main(String[] args){
Circle[] a=new Circle[10];
for(int i=0;i<10;i++){
a[i].setRadia((int)(Math.random(10)));
System.out.println("十个圆的面积依次是:"+a[i].area());
}
}
} 展开
3个回答
展开全部
下面是改正确的程序,你看看.
class Circle{
private int radia;
public void setRadia(int radia){
this.radia=radia;
}
public int getRadia(){
return radia;
}
public double area(){
return radia*radia*3.14;
}
public Circle(int radia){
this.radia=radia;
}
public Circle(){}
}
public class Test1{
public static void main(String[] args){
//声明不分配内存空间的,只有new 才会分配
Circle[] a=new Circle[10];
for(int i=0;i<10;i++){
a[i]=new Circle();
//Math.random(),不加参数,想让它大于1小于10,只有乘以10才可以
//下面这句话还有个括号是中文的
a[i].setRadia((int)(Math.random()*10));
System.out.println("十个圆的面积依次是:"+a[i].area());
}
}
}
展开全部
Circle[] a=new Circle[10];这行代码生成的circle数组是正常的,但是单个对象都是空对象,也就是说它的值都为null;
所以下面的a[i].setRadia((int)(Math.random(10)));这行代码运行的话会报错 显示空指针异常;
for(int i=0;i<10;i++){
a[i]=new Circle();
a[i].setRadia((int)(Math.random(10)));
System.out.println("十个圆的面积依次是:"+a[i].area());
}
这样就可以了
所以下面的a[i].setRadia((int)(Math.random(10)));这行代码运行的话会报错 显示空指针异常;
for(int i=0;i<10;i++){
a[i]=new Circle();
a[i].setRadia((int)(Math.random(10)));
System.out.println("十个圆的面积依次是:"+a[i].area());
}
这样就可以了
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
大概没有什么 IDE之类的 东西吧 。。。
public class Test1{
public static void main(String[] args){
Circle[] a=new Circle[10];
for(int i=0;i<10;i++){
a[i].setRadia((int)(Math.random(10)));
System.out.println("十个圆的面积依次是:"+a[i].area());
}
}
}
class Circle{
private int radia;
public void setRadia(int radia){
this.radia=radia;
}
public int getRadia(){
return radia;
}
public double area(){
return radia*radia*3.14;
}
public Circle(int radia){
this.radia=radia;
}
public Circle(){}
}
}
按上面粘一遍试试吧
public class Test1{
public static void main(String[] args){
Circle[] a=new Circle[10];
for(int i=0;i<10;i++){
a[i].setRadia((int)(Math.random(10)));
System.out.println("十个圆的面积依次是:"+a[i].area());
}
}
}
class Circle{
private int radia;
public void setRadia(int radia){
this.radia=radia;
}
public int getRadia(){
return radia;
}
public double area(){
return radia*radia*3.14;
}
public Circle(int radia){
this.radia=radia;
}
public Circle(){}
}
}
按上面粘一遍试试吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询