Salve,nella mia classe mi vengono segnalati degli errori di compilazione ,ma non riesco a capire dove stiano gli errori ...
riporto il codice e gli errori segnalati:

import prog.io.*;

public class GrandiIntPositivi{

private final static int MAX = 20;
private int [] array = new int [MAX];

public GrandiIntPositivi() {

for (int i=0;i<MAX;i++){
array[i]=0;
}

}

public GrandiIntPositivi(String s){
//controllo che la stringa sia formata solo da numeri
for (int i=0;i<MAX;i++){
char c =s.charAt(i);
boolean b = Character.isDigit(c);
if (b== false)
throw new RuntimeException("hai inserito un carattere,mentre sono richiesti solo numeri");
}


//se la stringa è lunga più di 20 devo tagliare la parte in più

int maxtmp = (MAX-1);

//-------------------------

if (s.length()<=MAX){
//in questo modo metto nell'array il contenuto della stringa partendo dal fondo dell'array arrivando alla fine della stringa

for (int i=s.length(),int j=i-1 ; i>=0 ; i--,j--){

array[maxtmp]=Integer.parseInt(s.substring(j,i));
maxtmp--;
}

if (maxtmp>0){ //nel caso in cui la stringa non fosse lunga 20 aggiungo degli zeri davanti

for (int i=maxtmp; maxtmp>=0 ; maxtmp--){

array[maxtmp]=0;
}
}
}

//se s.length()>MAX (cioè è più lungo di 20) faccio s.length()-MAX per riempire fino a lì

else {

for (int i=s.length(),int j=i-1 ; i>=(s.length()-MAX) ;i--,j--){

array[maxtmp]=Integer.parseInt(s.substring(j,i));
maxtmp--;

}

}
}



public GrandiIntPositivi piu(GrandiIntPositivi g){

int [] k = new int [MAX];
int tmp=0;
String str="",cifra1,cifra0;


for (int i=MAX-1; i>=0 ; i--){

k[i]= array[i]+g.array[i]+tmp;

if (k[i]>9){

str=""+k[i];

//la stringa quindi sara' formata da due cifre;divido la stringa in due parti corrispondenti alle due cifre


cifra1 = str.substring(0,1);
cifra0 = str.substring(1,2);//questa e' da memorizzare in k[i]

k[i] = Integer.parseInt(cifra0);//la prima cifra va in k

tmp = Integer.parseInt(cifra1);//il riporto va in tmp,che sara' sempre sommato fino alla fine del ciclo

}
}

//ora ho l'array,devo tramutarlo in stringa

String risultato="";

for (i=0;i<MAX;i++){
risultato=risultato+k[i];
}
return new GrandiIntPositivi(risultato);

}



public String toString(){

String risultato="";

for (i=0;i<MAX;i++){
risultato=risultato+this.array[i];
}

return risultato;

}

public boolean equals(GrandiIntPositivi g){

boolean b=true;

for (i=0;i<MAX;i++){

if (this.array[i]!=g.array[i])
boolean b=false;

}

return b;

}



public static void main (String [] args){
ConsoleInputManager in = new ConsoleInputManager();

try{
GrandiIntPositivi a= in.readLine("inserire l'intero 1 di non piu' di 20 caratteri: ");
GrandiIntPositivi b= in.readLine("inserire l'intero 2 di non piu' di 20 caratteri: ");

GrandiIntPositivi ris= a.piu(b);
boolean prova = a.equals(b);

System.out.println("risultato della somma dei due: "+ris);
System.out.println("il metodo equals ha restituito: "+prova);

}

catch (RuntimeException r){

System.out.println(r);
}



}

}


mentre gli errori segnalati sono :

GrandiIntPositivi.java:53: <identifier> expected
for (int i=s.length(),int j=i-1 ; i>=0 ; i--,j--){
^
GrandiIntPositivi.java:53: not a statement
for (int i=s.length(),int j=i-1 ; i>=0 ; i--,j--){
^
GrandiIntPositivi.java:53: ')' expected
for (int i=s.length(),int j=i-1 ; i>=0 ; i--,j--){
^
GrandiIntPositivi.java:53: ';' expected
for (int i=s.length(),int j=i-1 ; i>=0 ; i--,j--){
^
GrandiIntPositivi.java:53: ';' expected
for (int i=s.length(),int j=i-1 ; i>=0 ; i--,j--){
^
GrandiIntPositivi.java:72: <identifier> expected
for (int i=s.length(),int j=i-1 ; i>=(s.length()-MAX) ;i--,j--){
^
GrandiIntPositivi.java:72: not a statement
for (int i=s.length(),int j=i-1 ; i>=(s.length()-MAX) ;i--,j--){
^
GrandiIntPositivi.java:72: ')' expected
for (int i=s.length(),int j=i-1 ; i>=(s.length()-MAX) ;i--,j--){
^
GrandiIntPositivi.java:72: ';' expected
for (int i=s.length(),int j=i-1 ; i>=(s.length()-MAX) ;i--,j--){
^
GrandiIntPositivi.java:72: ';' expected
for (int i=s.length(),int j=i-1 ; i>=(s.length()-MAX) ;i--,j--){
^
GrandiIntPositivi.java:144: '.class' expected
boolean b=false;
^
GrandiIntPositivi.java:144: not a statement
boolean b=false;
^
GrandiIntPositivi.java:144: illegal start of expression
boolean b=false;
^
GrandiIntPositivi.java:144: ';' expected
boolean b=false;
^
14 errors


Se ho fatto qualche errore grossolano perdonatemi,sono alle prime armi