0
我是遞歸中的新人,有人請賜教。轉換爲遞歸方法
的問題是:
找同學的測驗平均品位與#101「
我已經在使用迭代解決這個問題,但我不知道如何轉換。成遞歸
import java.io.*;
import java.util.*;
public class Test{
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Scanner sc = new Scanner(System.in);
String arr[][] = {{"101","Quiz","90"},{"101","CS","80"},{"102","Quiz","85"},{"101","Quiz","75"},{"103","CS","84"},{"101","Quiz","87"}};
int sum = 0;
int ave = 0;
System.out.println("Student #\tType\tGrade");
for(int ctr = 0; ctr<arr.length; ctr++){
System.out.println(arr[ctr][0]+"\t\t"+arr[ctr][1]+"\t"+arr[ctr][2]);
if(arr[ctr][0] == "101"){
if(arr[ctr][1] == "Quiz"){
sum += Integer.parseInt(arr[ctr][2]);
ave += 1;
}
}
}
System.out.println("The Average quiz of Student # 101 is: "+ sum/ave);
}
}
雖然這個'if(arr [ctr] [1] ==「Quiz」)'因爲你比較文字,所以如果你用'=='來比較從用戶讀取的字符串,你會感到不快。請閱讀[「我如何比較Java中的字符串?」](http://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java)。 – Pshemo
@Pshemo好的。經典的java gotchya。 –
您可能想研究可以找到的主題的現有帖子https://www.bing.com/search?q=java+convert+loop+to+recursion。一些帖子甚至有解釋(除了一些理論文章,如https://secweb.cs.odu.edu/~zeil/cs361/web/website/Lectures/recursionConversion/page/recursionConversion.html,但你應該已經瞭解一般方法)。 –