Forum - Java
- Qualcuno mi può dare una mano a capire dove sbaglio?
mattone200332 (Normal User)
Newbie
Messaggi: 1
Iscritto: 27/06/2018
il programma deve controllare due array e scrivere in output se gli array sono uguali o meno ma non riesco a capire dove sbaglio
questo è il codice
Codice sorgente - presumibilmente Java
import java.io.* ;
public class es17diprogetticlassi {
int numero = 0 ;
char c;
do {
System .
out .
println ( "Scegli un opzione:" ) ; System .
out .
println ( "p. usare un array predefinito" ) ; System .
out .
println ( "m. inserire manualmente un array" ) ; System .
out .
println ( "x. chiudere il programma" ) ; System .
out .
println ( "Devi digitare la lettera corrispondente all'azione scelta e poi premere invio" ) ;
i= ( m.readLine ( ) ) .toLowerCase ( ) ;
c = i.charAt ( 0) ;
inserirearray ia;
switch ( c) {
case 'p' :
System .
out .
println ( "Hai scelto di usare un array predefinito" ) ;
System .
out .
println ( controllo.
controlloarraypredefinito ( ) ) ; break ;
case 'm' :
System .
out .
println ( "Inserici il tipo dei parametri degli array" ) ; System .
out .
println ( "s. string" ) ; System .
out .
println ( "c. char" ) ; System .
out .
println ( "d. double" ) ; System .
out .
println ( "i. intero" ) ; System .
out .
println ( "Devi digitare il numero corrispondente all'azione scelta e poi premere invio" ) ;
i= ( m.readLine ( ) ) .toLowerCase ( ) ;
c = i.charAt ( 0) ;
do {
System .
out .
println ( "Hai scelto di inserire manualmente un array" ) ; System .
out .
println ( "Inserici il numero di parametri del primo array" ) ;
i= m.readLine ( ) ;
if ( ( c == 's' ) || ( c == 'c' ) || ( c == 'd' ) || ( c == 'i' ) ) {
inserirearray ia1 = new inserirearray( numero, c, 1) ;
} else {
c= 'x' ;
}
} while ( c!= 'x' ) ;
do {
System .
out .
println ( "Inserici il numero di parametri del secondo array" ) ;
i= m.readLine ( ) ;
numero = i.charAt ( 0) ;
if ( ( c == 's' ) || ( c == 'c' ) || ( c == 'd' ) || ( c == 'i' ) ) {
ia = new inserirearray( numero, c, 2) ;
} else {
c= 'x' ;
}
} while ( c!= 'x' ) ;
System .
out .
println ( "Gli array sono uguali? " + controllo.
controlloarraypredefinito ( ) ) ;
break ;
case 'x' :
System .
out .
println ( "Hai scelto di uscire daql programma, ciao" ) ; break ;
default :
break ;
}
} while ( c!= 'x' ) ;
}
}
Codice sorgente - presumibilmente Java
import java.io.BufferedReader ;
import java.io.IOException ;
import java.io.InputStreamReader ;
public class inserirearray {
static private int i, intero;
static private char c;
static private double d;
static String [ ] Array1s
= null , Array2s
= null ; static char [ ] Array1c = null , Array2c = null ;
static double [ ] Array1d = null , Array2d = null ;
static int [ ] Array1i = null , Array2i = null ;
public inserirearray
( int x,
char y,
int z
) throws IOException {
controllo contr = null ;
contr.tipo = ' ' ;
if ( z == 1) {
switch ( y) {
case 's' :
contr.tipo = 's' ;
break ;
case 'c' :
Array1c = new char [ x] ;
contr.tipo = 'c' ;
break ;
case 'd' :
Array1d = new double [ x] ;
contr.tipo = 'd' ;
break ;
case 'i' :
Array1i = new int [ x] ;
contr.tipo = 'i' ;
break ;
default :
break ;
}
for ( i= 0 ; i<= x; i++ ) {
if ( y == 's' ) {
System .
out .
println ( "inserici il parametro n°" + ( i
+ 1 ) + " dell'array" ) ; s= f.readLine ( ) ;
Array1s[ i] = s;
} else if ( y == 'c' ) {
System .
out .
println ( "inserici il parametro n°" + ( i
+ 1 ) + " dell'array" ) ; s= f.readLine ( ) ;
c = s.charAt ( 0) ;
Array1c[ i] = c;
} else if ( y == 'd' ) {
System .
out .
println ( "inserici il parametro n°" + ( i
+ 1 ) + " dell'array" ) ; s= f.readLine ( ) ;
Array1d[ i] = d;
} else if ( y == 'i' ) {
System .
out .
println ( "inserici il parametro n°" + ( i
+ 1 ) + " dell'array" ) ; s= f.readLine ( ) ;
Array1i[ i] = intero;
}
}
}
if ( z == 2) {
switch ( y) {
case 's' :
break ;
case 'c' :
Array2c = new char [ x] ;
break ;
case 'd' :
Array2d = new double [ x] ;
break ;
case 'i' :
Array2i = new int [ x] ;
break ;
default :
break ;
}
for ( i= 0 ; i<= x; i++ ) {
if ( y == 's' ) {
System .
out .
println ( "inserici il parametro n°" + ( i
+ 1 ) + " dell'array" ) ; s= f.readLine ( ) ;
Array2s[ i] = s;
} else if ( y == 'c' ) {
System .
out .
println ( "inserici il parametro n°" + ( i
+ 1 ) + " dell'array" ) ; s= f.readLine ( ) ;
c = s.charAt ( 0) ;
Array2c[ i] = c;
} else if ( y == 'd' ) {
System .
out .
println ( "inserici il parametro n°" + ( i
+ 1 ) + " dell'array" ) ; s= f.readLine ( ) ;
Array2d[ i] = d;
} else if ( y == 'i' ) {
System .
out .
println ( "inserici il parametro n°" + ( i
+ 1 ) + " dell'array" ) ; s= f.readLine ( ) ;
Array2i[ i] = intero;
}
}
}
}
}
Codice sorgente - presumibilmente Java
import java.util.Random ;
public class arraypredefinito extends controllo {
static final int [ ] Array1i = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} ;
static final int [ ] Array2i = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} ;
static int k = 0 ;
static final String [ ] Array1s
= { "ciao" ,
"Ciao" ,
"salve" ,
"Salve" ,
"buongiono" ,
"Buongiorno" ,
"buonasera" ,
"Buonasera" } ; static final String [ ] Array2s
= { "ciao" ,
"Ciao" ,
"salve" ,
"Salve" ,
"buongiono" ,
"Buongiorno" ,
"buonasera" ,
"Buonasera" } ; static final char [ ] Array1c = { 'c' , 'i' , 'a' , 'o' , ',' , ' ' , 'q' , 'u' , 'e' , 's' , 't' , 'a' , ' ' , 'e' , '\' ' , ' ' , 'u' , 'n' , 'a' , ' ' , 'p' , 'r' , 'o' , 'v' , 'a' } ;
static final char [ ] Array2c = { 'c' , 'i' , 'a' , 'o' , ',' , ' ' , 'q' , 'u' , 'e' , 's' , 't' , 'a' , ' ' , 'e' , '\' ' , ' ' , 'u' , 'n' , 'a' , 'p' , 'r' , 'o' , 'v' , 'a' , ' ' } ;
static final double [ ] Array1d = { 31.8, 28.9, 31.6, 30.4, 31.3, 30.5, 31.8, 31.2, 304.2, 31.8, 30.6, 31.1} ;
static final double [ ] Array2d = { 6453, 568, 3451, 5630, 531, 370, 361, 3154, 356, 351, 305, 3451} ;
static char fgf;
static public char array( ) {
k = random.nextInt ( 3) ;
switch ( k) {
case 0 :
fgf= 's' ;
case 1 :
fgf= 'c' ;
case 2 :
fgf= 'd' ;
case 3 :
fgf= 'i' ;
}
return fgf;
}
}
Codice sorgente - presumibilmente Java
public class controllo{
static char tipo;
private static int x = 0 ;
private static int y = 0 ;
private static int i;
private static int n;
static String vis1
= "" , vis2
= "" ;
static public String controlloarraypredefinito
( ) {
tipo = arraypredefinito.array ( ) ;
switch ( tipo) {
case 's' :
x = arraypredefinito.Array1s .length ;
y = arraypredefinito.Array2s .length ;
for ( i= 0 ; i<= x; i++ ) {
vis1 += arraypredefinito.Array1s [ i] ;
vis2 += arraypredefinito.Array2s [ i] ;
}
if ( x!= y) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
for ( i= 0 ; i<= x; i++ ) {
if ( arraypredefinito.Array1s [ i] != arraypredefinito.Array2s [ i] ) {
n++;
}
}
}
case 'c' :
x = arraypredefinito.Array1c .length ;
y = arraypredefinito.Array2c .length ;
for ( i= 0 ; i<= x; i++ ) {
vis1 += arraypredefinito.Array1c [ i] ;
vis2 += arraypredefinito.Array2c [ i] ;
}
if ( x!= y) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
for ( i= 0 ; i<= x; i++ ) {
if ( arraypredefinito.Array1c [ i] != arraypredefinito.Array2c [ i] ) {
n++;
}
}
}
case 'd' :
x = arraypredefinito.Array1d .length ;
y = arraypredefinito.Array2d .length ;
for ( i= 0 ; i<= x; i++ ) {
vis1 += arraypredefinito.Array1d [ i] ;
vis2 += arraypredefinito.Array2d [ i] ;
}
if ( x!= y) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
for ( i= 0 ; i<= x; i++ ) {
if ( arraypredefinito.Array1d [ i] != arraypredefinito.Array2d [ i] ) {
n++;
}
}
}
case 'i' :
x = arraypredefinito.Array1i .length ;
y = arraypredefinito.Array2i .length ;
for ( i= 0 ; i<= x- 1 ; i++ ) {
vis1 += arraypredefinito.Array1i [ i] + ", " ;
vis2 += arraypredefinito.Array2i [ i] ;
}
if ( x!= y) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
for ( i= 0 ; i<= x; i++ ) {
if ( arraypredefinito.Array1i [ i] != arraypredefinito.Array2i [ i] ) {
n++;
}
}
}
}
if ( n!= 0) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array sono uguali" ;
}
}
static public String controlloinserirearray
( ) {
switch ( tipo) {
case 's' :
x = inserirearray.Array1s .length ;
y = inserirearray.Array2s .length ;
for ( i= 0 ; i<= x; i++ ) {
vis1 += inserirearray.Array1s [ i] ;
vis2 += inserirearray.Array2s [ i] ;
}
if ( x!= y) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
for ( i= 0 ; i<= x; i++ ) {
if ( inserirearray.Array1s [ i] != inserirearray.Array2s [ i] ) {
n++;
}
}
}
case 'c' :
x = inserirearray.Array1c .length ;
y = inserirearray.Array2c .length ;
for ( i= 0 ; i<= x; i++ ) {
vis1 += inserirearray.Array1c [ i] ;
vis2 += inserirearray.Array2c [ i] ;
}
if ( x!= y) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
for ( i= 0 ; i<= x; i++ ) {
if ( inserirearray.Array1c [ i] != inserirearray.Array2c [ i] ) {
n++;
}
}
}
case 'd' :
x = inserirearray.Array1d .length ;
y = inserirearray.Array2d .length ;
for ( i= 0 ; i<= x; i++ ) {
vis1 += inserirearray.Array1d [ i] ;
vis2 += inserirearray.Array2d [ i] ;
}
if ( x!= y) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
for ( i= 0 ; i<= x; i++ ) {
if ( inserirearray.Array1d [ i] != inserirearray.Array2d [ i] ) {
n++;
}
}
}
case 'i' :
x = inserirearray.Array1i .length ;
y = inserirearray.Array2i .length ;
for ( i= 0 ; i<= x; i++ ) {
vis1 += inserirearray.Array1i [ i] ;
vis2 += inserirearray.Array2i [ i] ;
}
if ( x!= y) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
for ( i= 0 ; i<= x; i++ ) {
if ( inserirearray.Array1i [ i] != inserirearray.Array2i [ i] ) {
n++;
}
}
}
}
if ( n!= 0) {
return "Array1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array non sono uguali" ;
} else {
return "Array 1: " + vis1 + "\n " + "Array 2: " + vis2 + "\n " + "Gli array sono uguali" ;
}
}
}
Thejuster (Admin )
Guru^2
Messaggi: 2308
Iscritto: 04/05/2008
Mattone questo non è un forum su indovinelli lol. Che errore hai? In quale punto? descrivi bene il tuo problema...
beltromatti (Normal User)
Newbie
Messaggi: 2
Iscritto: 07/09/2018
Quanto codice per uno scopo tanto semplice!
adesso non ho tempo ma vedrò di analizzarlo bene
comtel (Member )
Pro
Messaggi: 145
Iscritto: 08/04/2011
Non ho avuto ancora il tempo di studiare per bene e per intero il codice, ma come qualcuno ha già detto, c'è tantissimo codice per un compito che si conclude con poche righe. Inoltre ho visto che crei una istanza di una classe che si chiama "inserireArray", e dal nome e dal codice sembra essere più un metodo implementato in una classe, che una classe stessa..