标题:创建的这个类有什么不对的地方?
只看楼主
川云漠漠
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2014-10-8
结帖率:57.89%
已结贴  问题点数:3 回复次数:5 
创建的这个类有什么不对的地方?
public class Name {
            
    public static void main(String[] args) {
              Yuan yuan1=new Yuan();
        System.out.println("半径为"+yuan1.Banjing +"的圆的面积是:"+yuan1.Mianji());
        }
}
         class Yuan{
             double Banjing;
            void banjing(){
                 Banjing=4.5;
             }
            void banjing(double newBanjing){
                Banjing=newBanjing;
            }
             double Mianji(){
                return Banjing*Banjing*Math.PI;
         }
}
执行结果显示如下:
搜索更多相关主题的帖子: public double return 刷机包 
2014-11-18 21:20
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
得分:0 
运行不出与你期待的结果就是代码不正确

思考赐予新生,时间在于定义
2014-11-18 22:13
dzh151360980
Rank: 2
来 自:上海
等 级:论坛游民
威 望:1
帖 子:68
专家分:46
注 册:2014-9-24
得分:0 
//1,在Yuan内定义了一个全局变量double Banjing,并没有直接赋值
//2,在banjing方法中赋值后,需在调用的时候调用一下这个方法,如systemout语句中的,如下代码:

public class Name {
     public static void main(String[] args) {
           Yuan yuan1=new Yuan();
           System.out.println("半径为"+yuan1.Banjing() +"的圆的面积是:"+yuan1.Mianji());
         }
 }
 class Yuan{
           double Banjing;
           void banjing(){
                  Banjing=4.5;
           }
           void banjing(double newBanjing){
                 Banjing=newBanjing;
           }
           double Mianji(){
                 return Banjing*Banjing*Math.PI;
           }
 }

Java程序员的每一天都很精彩,哈哈!
2014-11-18 22:56
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:0 
void banjing(){
                  Banjing=4.5;
           }
只是一个函数,你并没有调用给半径赋值,所以r一直是0,故输出0,你在main中调用下就好了,或者定义一个构造函数进行对r初始化

Maybe
2014-11-19 18:38
川云漠漠
Rank: 1
等 级:新手上路
帖 子:38
专家分:0
注 册:2014-10-8
得分:0 
回复 3 楼 dzh151360980
你的这个程序在 yuan1.Banjing()的地方提示有错误啊,是怎么回事?
2014-11-19 21:52
dzh151360980
Rank: 2
来 自:上海
等 级:论坛游民
威 望:1
帖 子:68
专家分:46
注 册:2014-9-24
得分:3 
//不好意思,yuan1.Banjing应写在system语句上面,system语句内写yuan1.Banjing 就ok了
public class Name {
      public static void main(String[] args) {
            Yuan yuan1=new Yuan();
            yuan1.banjing();
            System.out.println("半径为"+yuan1.Banjing +"的圆的面积是:"+yuan1.Mianji());
          }
 }
 class Yuan{
            double Banjing;
            void banjing(){
                   Banjing=4.5;
            }
            void banjing(double newBanjing){
                  Banjing=newBanjing;
            }
            double Mianji(){
                  return Banjing*Banjing*Math.PI;
            }
 }

[ 本帖最后由 dzh151360980 于 2014-11-19 05:11 编辑 ]

Java程序员的每一天都很精彩,哈哈!
2014-11-19 22:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-438825-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.099210 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved