我該怎么做才能使用getTotalScore Program 類上的方法來獲得 my 的總數scores ArrayList,為什么我必須這樣做?我想明白。請注意我不想使方法靜態。
import java.util.*;
public class Program {
public int getTotalScore(ArrayList<int> v) {
return total;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
ArrayList<int> scores = new ArrayList<>();
}
}
我找不到一篇文章來幫助我清楚地了解發生了什么,請幫忙。我在某處得到了這個評論:
請注意,分數物件不是靜態的,因此您必須創建
Program類的實體才能使用分數ArrayList和getTotalScore方法。
uj5u.com熱心網友回復:
如果要使用類的非靜態成員,則必須實體化該類。所以在這種情況下
new Program().getTotalScore(scores)
這很奇怪,要創建一個Program類的實體。將方法移動getTotalScore到新類(或使其成為靜態)。
要計算總數,請查看如何“求和”整數陣列。
uj5u.com熱心網友回復:
static成員屬于一個類,而不是一個實體。
為了getTotalScore在你的方法中使用方法main,你要么必須創建一個實體物件,要么創建Program一個getTotalScore靜態方法。
這里有兩個例子:
- 創建一個實體
Program
public class Program {
public int getTotalScore(ArrayList<Integer> v) {
int total = 0;
for(int i = 0; i < v.size(); i ){
total = v.get(i);
}
return total;
}
public static void main(String[] args) {
ArrayList<Integer> scores = new ArrayList<Integer>();
Program program = new Program();
program.getTotalScore(scores);
}
}
- 制作
getTotalScore靜態方法
public class Program {
public static int getTotalScore(ArrayList<Integer> v) {
int total = 0;
for(int i = 0; i < v.size(); i ){
total = v.get(i);
}
return total;
}
public static void main(String[] args) {
ArrayList<Integer> scores = new ArrayList<Integer>();
Program.getTotalScore(scores);
}
uj5u.com熱心網友回復:
public class Q71700414 {
public int getTotalScore(ArrayList<Integer> v) {
int total=0;;
for(int i=0;i<v.size();i ) {
total =v.get(i);
}
return total;
}
public static void main(String[] args) {
ArrayList<Integer>v=new ArrayList<Integer>();
for(int i=0;i<10;i )
v.add(i 1);
Q71700414 obj=new Q71700414();
System.out.println("Total is " obj.getTotalScore(v));
System.out.println("Total is " new Q71700414().getTotalScore(v));
}
}
在這里,我包含了兩種型別的 instatiate 物件(在這種情況下是呼叫方法)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/454106.html
