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![]()

...
Rispondi quotando