請大家幫我看看我的代碼的問題是什么,在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);
}
}
2019-07-24
只有在靜態(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); ????} }請采納?
2019-07-23
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);
}
}
2019-07-23
第二個變量沒定義是靜態的
static int score2 = 92;
2019-07-23
HelloWorld world=new HelloWorld();去掉,然后world.score2改成this.score2