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,但你应该已经了解一般方法)。 –