Please help me ,there are problem in logic eror with grade and also in calculation of average

public class Student
2 {
3 private int id;
4 private String name;
5 private float average;
6 private int [] marks;
7 private char grade;
8
9 public Student (int i,String n,int []m)
10 {
11 this.id =id;
12 this.name =n;
13 marks = new int[m.length];
14
15 for(int s= 0;s<m.length;s++)
16 this.marks[s]=m[s];
17
18 this.calculateAvg();
19 this.findGrade();
20
21 }
22
23 public int getId()
24 {
25 return id;
26 }
27 public void setId(int id)
28 {
29 this.id = id;
30 }
31
32 public String getName()
33 {
34 return name;
35 }
36
37 public void setName(String n)
38 {
39 this.name = n;
40 }
41
42 public float getAverage()
43 {
44 return average;
45 }
46
47 public void setAverage(float average)
48 {
49 this.average=average;
50 }
51
52 public char getGrade()
53 {
54 return grade;
55 }
56 public void setGrade (char grade)
57 {
58 this.grade =grade;
59 }
60
61
62 public int[] getMarks()
63 {
64 return marks;
65 }
66 public void setMarks(int[] marks)
67 {
68 this.marks =marks;
69 }
70
71
72 int temp =0;
73
74 public void calculateAvg()
75 {
76 float sum=0;
77 for(int i=0; i<marks.length;i++)
78 {
79 sum+=marks[i];
80
81 }
82
83 average = sum / marks.length;
84 }
85
86 int no ;
87 public void findGrade()
88 {
89
90 int[] marks;
91 marks = new int[no];
92
93 for(int i =0;i<no;i++)
94 {
95
96 if(marks[i]>50)
97 {
98 if(average>=80 && average<=100)
99 {
100 setGrade(‘0’);
101 }
102 else if(average<80)
103 {
104 setGrade(‘A’);
105 }
106 }
107 else if (marks[i]<50)
108 {
109 setGrade(‘F’);
110 }
111
112 }
113 }
114
115 public void display()
116 {
117 System.out.println(“Id:” +id);
118 System.out.println(“Name:”+name);
119 System.out.println(“Average:”+average);
120 System.out.println("\nGrade:" +grade);
121 }
122 }