Java不同类之间参数值传递问题

arongomez 2016-09-27 11:03:25
哪位大神能帮忙帮忙改改代码?类似于求同心圆的小圆和大圆面积,还有大圆周长

package yongjunhai;

import java.util.Scanner;

class circle
{
double PI=3.1415;
public double m_radius;
public double M_Radius;


public double mb_getArea(double m_radius)
{
double area1=PI*m_radius*m_radius;
return area1;
}

public double MB_getArea()
{
return (PI*M_Radius*M_Radius);
}

public double zhouchang()
{
return (2*PI*M_Radius);
}

public void mb_method()
{
System.out.println("泳池的面积为"+mb_getArea(m_radius));
System.out.println("泳池和走道的面积为"+MB_getArea());
System.out.println("整个泳池的周长为"+zhouchang());
}

}

public class swimmingpoolcost {
public static void main(String[] args) {
circle a=new circle();
Scanner scty=new Scanner(System.in);
System.out.print("请输入泳池的半径r:");
double m_radius=scty.nextDouble();
System.out.print("请输入泳池和走道的半径R:");
scty.nextDouble();
double area1=a.mb_getArea(m_radius);
a.mb_method();
}

}

下面是错误运行结果:

...全文
1044 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2016-10-02
  • 打赏
  • 举报
回复
没有对象,主方法也没有参数传到方法里。 那个PI,Math里面有,不用自己再定义
arongomez 2016-09-28
  • 打赏
  • 举报
回复

package yongjunhai;
//求泳池造价问题,即类似于求同心圆的小圆和大圆面积,大圆周长
import java.util.*;

public class swimmingpoolcost
{

public static void main(String[] args)
{

Circle a = new Circle(); //创建实例对象
Scanner scty = new Scanner(System.in); //定义Scanner对象scty

System.out.print("请输入泳池的半径(米)r:");
double m_radius = scty.nextDouble();
System.out.println("泳池的面积为" +(float)a.mb_getArea(m_radius)+"平方米");

System.out.print("请输入泳池和走道的半径(米)r:");
double M_Radius = scty.nextDouble();
System.out.println("泳池和走道的面积为" +(float)a.MB_getArea(M_Radius)+"平方米");

System.out.println("整个泳池的周长为" +(float)a.zhouchang(M_Radius)+"米");

System.out.print("泳池每平方米的造价为(万元)x:");
double x = scty.nextDouble();

System.out.print("泳池和走道每平方米的造价为(万元)y:");
double y = scty.nextDouble();

System.out.print("栅栏每米的造价为(万元)z:");
double z = scty.nextDouble();

System.out.print("整个泳池总造价为:");

double Q;
Q=x*a.mb_getArea(M_Radius)+y*a.MB_getArea(M_Radius)+a.zhouchang(M_Radius);
System.out.print(Q+"万元");

}
}

class Circle
{
double PI = 3.1415;

public double mb_getArea(double m_radius) //泳池面积
{
return (PI * m_radius * m_radius);
}

public double MB_getArea(double M_Radius) //泳池和走道面积
{
return (PI*M_Radius*M_Radius);
}

public double zhouchang(double M_Radius) //泳池和走道周长
{
return (2*PI*M_Radius);
}

}


运行结果:


行了!!!!!
arongomez 2016-09-28
  • 打赏
  • 举报
回复

怎么插入代码呀?
快断网啦
!!!!
arongomez 2016-09-28
  • 打赏
  • 举报
回复
在此感谢各位,哈哈,问题已经解决了
Iken_Shaw 2016-09-27
  • 打赏
  • 举报
回复
方法有很多,你可以在swimmingpool类里面,double m.radius下面加一句a.m_radius =m_radius; 以及在 double M_radius下面加一句a.M_radius=M_radius;
Iken_Shaw 2016-09-27
  • 打赏
  • 举报
回复
你压根就没有给成员变量设置过值
arongomez 2016-09-27
  • 打赏
  • 举报
回复
public double mb_getArea(double m_radius) { double area1=PI*m_radius*m_radius; return area1; } 第一个方法带参数也传不了
小灯光环 2016-09-27
  • 打赏
  • 举报
回复
public double MB_getArea(double m_radius) { return (PI*M_Radius*M_Radius); } 你方法参数都不带怎么传?
sz_robin 2016-09-27
  • 打赏
  • 举报
回复
你上面申明的两个变量也多余了,忘了删除
sz_robin 2016-09-27
  • 打赏
  • 举报
回复
public class Circle { double PI = 3.1415; public double m_radius; public double M_Radius; public double mb_getArea(double m_radius) { //面积 double area1 = PI * m_radius * m_radius; return area1; } } import java.util.*; public class Swimmingpoolcost { public static void main(String[] args) { Circle a = new Circle(); Scanner scty = new Scanner(System.in); System.out.print("请输入泳池的半径(米)r:"); double m_radius = scty.nextDouble(); System.out.println("泳池的面积为" +(float)a.mb_getArea(m_radius)+"米"); } }
sz_robin 2016-09-27
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
没有传参数进去所以久没法得到面积,另外楼主你写的方法也有问题。

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧