27/06/18 13:09
mattone200332
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
questo è il codice
import java.io.*; public class es17diprogetticlassi { public static void main (String[] arg) throws IOException{ InputStreamReader input=new InputStreamReader(System.in); BufferedReader m = new BufferedReader(input); String i; 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(); numero = Integer.parseInt(i); 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: System.out.println("Errore"); break; } }while(c!='x'); } }
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class inserirearray { static private int i, intero; static private String s; 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 { InputStreamReader input=new InputStreamReader(System.in); BufferedReader f = new BufferedReader(input); controllo contr = null; contr.tipo = ' '; if (z == 1) { switch (y) { case 's': Array1s = new String[x]; 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: System.out.println("Errore"); 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(); d = Double.parseDouble(s); Array1d[i] = d; }else if (y == 'i') { System.out.println("inserici il parametro n°" + (i+1) + " dell'array"); s=f.readLine(); intero = Integer.parseInt(s); Array1i[i] = intero; } } } if (z == 2) { switch (y) { case 's': Array2s = new String[x]; break; case 'c': Array2c = new char[x]; break; case 'd': Array2d = new double[x]; break; case 'i': Array2i = new int[x]; break; default: System.out.println("Errore"); 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(); d = Double.parseDouble(s); Array2d[i] = d; }else if (y == 'i') { System.out.println("inserici il parametro n°" + (i+1) + " dell'array"); s=f.readLine(); intero = Integer.parseInt(s); Array2i[i] = intero; } } } } }
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(){ Random random = new Random(); k = random.nextInt(3); switch (k) { case 0 : fgf= 's'; case 1 : fgf= 'c'; case 2 : fgf= 'd'; case 3 : fgf= 'i'; } return fgf; } }
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"; } } }
aaa