为了账号安全,请及时绑定邮箱和手机立即绑定

请大家帮我看看我的代码的问题是什么,在JAVA环境中没有错误,但是运行不出来结果,谢谢大家咯

public class HelloWorld {

    

    // 定义静态变量score1

    static int score1 = 86;

    // 定义静态变量score2

          int score2 = 92;

        HelloWorld world=new HelloWorld();


    // 定义静态方法sum,计算成绩总分,并返回总分

public     int sum() {  

    return score1+world.score2;  

      

}


public static void main(String[] args) {

        

        HelloWorld hello=new HelloWorld();

int allScore =hello.sum();

        

System.out.println("总分:" + allScore);

}

}


正在回答

4 回答

只有在静态(static)方法调用非静态方法或变量才需要实例化类。

这个练习两个变量全是静态,两个方法也是静态用不到实例化类。

HelloWorld world=new HelloWorld();去掉

public class HelloWorld {        
// 定义静态变量score1    
    static int score1 = 86;    
    // 定义静态变量score2	          
    static int score2 = 92;	        
      
    // 定义静态方法sum,计算成绩总分,并返回总分	
    public static int sum() {  	    
    return score1+score2;        	
    }	
    public static void main(String[] args) {                
    int allScore =sum();        		
    System.out.println("总分:" + allScore);	
    }
}

如果你要尝试静态方法调用非静态变量可以这样

public class Helloworld{
    // 定义静态变量score1
    static int score1 = 86;
    // 非静态变量score2
    int score2 = 92;
    // 非静态方法sum,计算成绩总分,并返回总分
    public int sum() {
    return score1 + score2;
    }
    public static void main(String[] args) {
    Heloworld hello = new Helloworld();
    int allScore = hello.sum();
    System.out.println("总分:" + allScore);
    }
}

请采纳?

1 回复 有任何疑惑可以回复我~
#1

weixin_慕粉5402365 提问者

谢谢啦! 很清楚
2019-07-24 回复 有任何疑惑可以回复我~
#2

weixin_慕仙1144841 回复 weixin_慕粉5402365 提问者

我看到两处
2019-08-01 回复 有任何疑惑可以回复我~

public class HelloWorld {

    // 定义静态变量score1

    static int score1 = 86;

    // 定义静态变量score2

    static int score2 = 92; 


    // 定义静态方法sum,计算成绩总分,并返回总分

public static int sum() {

        int allScore;

            allScore=score1+score2;

            return allScore;

}


public static void main(String[] args) {

        // 调用静态方法sum并接收返回值

int allScore = sum();

System.out.println("总分:" + allScore);

}

}

0 回复 有任何疑惑可以回复我~

第二个变量没定义是静态的

static int score2 = 92;

0 回复 有任何疑惑可以回复我~

HelloWorld world=new HelloWorld();去掉,然后world.score2改成this.score2

1 回复 有任何疑惑可以回复我~
#1

weixin_慕粉5402365 提问者

沃,这样就对了,那请问为什么要这样改呢,我的那个出错的点是什么啊,谢谢
2019-07-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请大家帮我看看我的代码的问题是什么,在JAVA环境中没有错误,但是运行不出来结果,谢谢大家咯

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信