0
我必須傳遞構造函數Guitar
中的值,然後將它們傳遞給generateSong
方法。有一個捕獲。生成的歌曲方法不能帶參數,因爲由於這些值在同一個類中,它們應該能夠從構造函數中獲取值。將構造函數的值傳遞給方法
當我嘗試實現該方法中的值時,無法訪問這些值。我怎樣才能解決這個問題?
public Guitar(int chord, int numOfStrings) {
//pass these values to the generateSong method
System.out.println("Guitar() generated a guitar with: " + numOfStrings + "." + "Song length is " +chord);
// declare the array for which the song is stored
// store the values of the last row i (highest index of the array)
double[] max = null;
Guitar.generateSong();
// start the generate song method
public static void generateSong() {
double [] [] song = new double [numOfStrings] [chord];
double[] max;
int findmax =0;
int sum =0;
for (int i =0; i<song.length; i++) {
for (int j =0; j<song.length; j++) {
sum = (int) (sum +song[i][j]);
}
for (int e=0; e<song.length; e++) {
if (song[e]!=song[findmax]) {
max[e] =e;
}
for(int k=0; k<song.length; k++) {
for (int l=0; k<song[k].length; k++)
// assign note values to the array
song [k] [l] = 27.5 + (Math.random()* 4186);
// print out the proper value
System.out.printf("8.2%f", song);
for(int m=0; m<max.length; m++)
max[m]= 1 +(Math.random() *3);
System.out.printf("8.2%f", max);
}
}
}
}
值int chord
和int numOfStrings
在主方法來自命令行參數,並通過下面的對象被傳遞給該方法:
Guitar guitar = new Guitar (numOfStrings, chord);
'第二,你不能在其他方法裏面定義方法。「不同意。您可以。匿名,lambda也是函數。 – dosdebug
@ssc:lambda是一個函數(或者更好,但是對匿名類很薄)。這不是一種方法。 – Makoto
我的不好。我經常交替使用這些術語,但我理解並明白你的觀點。謝謝。 – dosdebug