Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
Java - Qualcuno mi può dare una mano a capire dove sbaglio?
Forum - Java - Qualcuno mi può dare una mano a capire dove sbaglio?

Avatar
mattone200332 (Normal User)
Newbie


Messaggi: 1
Iscritto: 27/06/2018

Segnala al moderatore
Postato alle 15:09
Mercoledì, 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 8-|
questo è il codice

Codice sorgente - presumibilmente Java

  1. import java.io.*;
  2.  
  3. public class es17diprogetticlassi {
  4.  
  5.         public static void main (String[] arg) throws IOException{
  6.  
  7.                 InputStreamReader input=new InputStreamReader(System.in);
  8.                 BufferedReader m = new BufferedReader(input);
  9.                
  10.                 String i;
  11.                 int numero = 0;
  12.                 char c;
  13.  
  14.                 do{
  15.                
  16.                 System.out.println("Scegli un opzione:");
  17.                 System.out.println("p. usare un array predefinito");
  18.                 System.out.println("m. inserire manualmente un array");
  19.                 System.out.println("x. chiudere il programma");
  20.                 System.out.println("Devi digitare la lettera corrispondente all'azione scelta e poi premere invio");
  21.                
  22.                 i=(m.readLine()).toLowerCase();
  23.                 c = i.charAt(0);
  24.                
  25.                 inserirearray ia;
  26.                
  27.                 switch (c) {
  28.                        
  29.                         case 'p':
  30.                                 System.out.println("Hai scelto di usare un array predefinito");
  31.                                
  32.                                 System.out.println(controllo.controlloarraypredefinito());
  33.                                 break;
  34.                                
  35.                      case 'm':
  36.                          
  37.                                 System.out.println("Inserici il tipo dei parametri degli array");
  38.                                         System.out.println("s. string");
  39.                                         System.out.println("c. char");
  40.                                         System.out.println("d. double");
  41.                                         System.out.println("i. intero");
  42.                                         System.out.println("Devi digitare il numero corrispondente all'azione scelta e poi premere invio");
  43.                                
  44.                                         i=(m.readLine()).toLowerCase();
  45.                                         c = i.charAt(0);
  46.                          
  47.                          do {
  48.                                 System.out.println("Hai scelto di inserire manualmente un array");
  49.                                         System.out.println("Inserici il numero di parametri del primo array");
  50.                                
  51.                                         i=m.readLine();
  52.                                         numero = Integer.parseInt(i);
  53.                                
  54.                                         if ((c == 's')||(c == 'c')||(c == 'd')||(c == 'i')) {
  55.                                                
  56.                                                 inserirearray ia1 = new inserirearray(numero, c, 1);
  57.                                        
  58.                                         }else {
  59.                                        
  60.                                                 c='x';
  61.                                        
  62.                                         }
  63.                                 }while(c!='x');
  64.                          
  65.                          do {
  66.                                                 System.out.println("Inserici il numero di parametri del secondo array");
  67.                                        
  68.                                                 i=m.readLine();
  69.                                                 numero = i.charAt(0);
  70.                                        
  71.                                                 if ((c == 's')||(c == 'c')||(c == 'd')||(c == 'i')) {
  72.                                                        
  73.                                                         ia = new inserirearray(numero, c, 2);
  74.                                                
  75.                                                 }else {
  76.                                                
  77.                                                         c='x';
  78.                                                
  79.                                                 }
  80.                                         }while(c!='x');
  81.                          
  82.                        
  83.                                 System.out.println("Gli array sono uguali? " + controllo.controlloarraypredefinito());
  84.                          
  85.                                 break;
  86.                    
  87.                      case 'x':
  88.                                 System.out.println("Hai scelto di uscire daql programma, ciao");
  89.                                 break;
  90.                                
  91.                      default:
  92.                                 System.out.println("Errore");
  93.                                 break;
  94.                 }
  95.                 }while(c!='x');
  96.         }
  97. }



Codice sorgente - presumibilmente Java

  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4.  
  5. public class inserirearray {
  6.        
  7.         static private int i, intero;
  8.         static private String s;
  9.         static private char c;
  10.         static private double d;
  11.         static String[] Array1s = null, Array2s = null;
  12.         static char[] Array1c = null, Array2c = null;
  13.         static double[] Array1d = null, Array2d = null;
  14.         static int[] Array1i = null, Array2i = null;
  15.        
  16.         public inserirearray(int x, char y, int z) throws IOException {
  17.                
  18.                 InputStreamReader input=new InputStreamReader(System.in);
  19.                 BufferedReader f = new BufferedReader(input);
  20.                
  21.                 controllo contr = null;
  22.                
  23.                 contr.tipo = ' ';
  24.                
  25.                 if (z == 1) {
  26.                         switch (y) {
  27.                
  28.                                 case 's':
  29.                                         Array1s = new String[x];       
  30.                                         contr.tipo = 's';
  31.                                         break;
  32.                                
  33.                                 case 'c':
  34.                                         Array1c = new char[x];
  35.                                         contr.tipo = 'c';
  36.                                         break;
  37.                                
  38.                                 case 'd':
  39.                                         Array1d = new double[x];       
  40.                                         contr.tipo = 'd';
  41.                                         break;
  42.                                
  43.                                 case 'i':
  44.                                         Array1i = new int[x];  
  45.                                         contr.tipo = 'i';
  46.                                         break;
  47.                                
  48.                                 default:
  49.                                         System.out.println("Errore");
  50.                                         break;
  51.                                
  52.                         }
  53.                        
  54.                         for (i=0;i<=x;i++) {
  55.                                
  56.                                 if (y == 's') {
  57.                                        
  58.                                         System.out.println("inserici il parametro n°" + (i+1) + " dell'array");
  59.                                         s=f.readLine();
  60.                                         Array1s[i] = s;
  61.                                        
  62.                                 }else if (y == 'c') {
  63.                                        
  64.                                         System.out.println("inserici il parametro n°" + (i+1) + " dell'array");
  65.                                         s=f.readLine();
  66.                                         c = s.charAt(0);
  67.                                         Array1c[i] = c;
  68.                                        
  69.                                 }else if (y == 'd') {
  70.                                        
  71.                                         System.out.println("inserici il parametro n°" + (i+1) + " dell'array");
  72.                                         s=f.readLine();
  73.                                         d = Double.parseDouble(s);
  74.                                         Array1d[i] = d;
  75.                                        
  76.                                 }else if (y == 'i') {
  77.                                        
  78.                                         System.out.println("inserici il parametro n°" + (i+1) + " dell'array");
  79.                                         s=f.readLine();
  80.                                         intero = Integer.parseInt(s);
  81.                                         Array1i[i] = intero;
  82.                                 }
  83.                                
  84.                         }
  85.                 }
  86.                
  87.                 if (z == 2) {
  88.                         switch (y) {
  89.                
  90.                                 case 's':
  91.                                         Array2s = new String[x];
  92.                                         break;
  93.                                
  94.                                 case 'c':
  95.                                         Array2c = new char[x];
  96.                                         break;
  97.                                
  98.                                 case 'd':
  99.                                         Array2d = new double[x];       
  100.                                         break;
  101.                                
  102.                                 case 'i':
  103.                                         Array2i = new int[x];  
  104.                                         break;
  105.                                
  106.                                 default:
  107.                                         System.out.println("Errore");
  108.                                         break;
  109.                                
  110.                         }
  111.                        
  112.                         for (i=0;i<=x;i++) {
  113.                                
  114.                                 if (y == 's') {
  115.                                        
  116.                                         System.out.println("inserici il parametro n°" + (i+1) + " dell'array");
  117.                                         s=f.readLine();
  118.                                         Array2s[i] = s;
  119.                                        
  120.                                 }else if (y == 'c') {
  121.                                        
  122.                                         System.out.println("inserici il parametro n°" + (i+1) + " dell'array");
  123.                                         s=f.readLine();
  124.                                         c = s.charAt(0);
  125.                                         Array2c[i] = c;
  126.                                        
  127.                                 }else if (y == 'd') {
  128.                                        
  129.                                         System.out.println("inserici il parametro n°" + (i+1) + " dell'array");
  130.                                         s=f.readLine();
  131.                                         d = Double.parseDouble(s);
  132.                                         Array2d[i] = d;
  133.                                        
  134.                                 }else if (y == 'i') {
  135.                                        
  136.                                         System.out.println("inserici il parametro n°" + (i+1) + " dell'array");
  137.                                         s=f.readLine();
  138.                                         intero = Integer.parseInt(s);
  139.                                         Array2i[i] = intero;
  140.                                 }
  141.                                
  142.                         }
  143.                 }
  144.         }
  145.        
  146. }



Codice sorgente - presumibilmente Java

  1. import java.util.Random;
  2.  
  3.  public class arraypredefinito extends controllo {
  4.        
  5.         static final int[] Array1i = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  6.         static final int[] Array2i = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  7.         static int k = 0;
  8.         static final String[] Array1s = {"ciao", "Ciao", "salve", "Salve", "buongiono", "Buongiorno", "buonasera", "Buonasera"};
  9.         static final String[] Array2s = {"ciao", "Ciao", "salve", "Salve", "buongiono", "Buongiorno", "buonasera", "Buonasera"};
  10.         static final char[] Array1c = {'c', 'i', 'a', 'o', ',', ' ', 'q', 'u', 'e', 's', 't', 'a', ' ', 'e', '\'', ' ', 'u', 'n', 'a', ' ', 'p', 'r', 'o', 'v', 'a'};
  11.         static final char[] Array2c = {'c', 'i', 'a', 'o', ',', ' ', 'q', 'u', 'e', 's', 't', 'a', ' ', 'e', '\'', ' ', 'u', 'n', 'a', 'p', 'r', 'o', 'v', 'a', ' '};
  12.         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};
  13.         static final double[] Array2d = {6453, 568, 3451, 5630, 531, 370, 361, 3154, 356, 351, 305, 3451};
  14.         static char fgf;
  15.        
  16.         static public char array(){
  17.                
  18.                 Random random = new Random();
  19.                
  20.                 k = random.nextInt(3);
  21.                
  22.                 switch (k) {
  23.                
  24.                         case 0 :
  25.                                 fgf= 's';
  26.                 case 1 :
  27.                                 fgf= 'c';
  28.                 case 2 :
  29.                                 fgf= 'd';
  30.                 case 3 :
  31.                                 fgf= 'i';
  32.                
  33.                 }
  34.                
  35.                 return fgf;
  36.                
  37.         }
  38.        
  39. }



Codice sorgente - presumibilmente Java

  1. public class controllo{
  2.  
  3.         static char tipo;
  4.         private static int x = 0;
  5.         private static int y = 0;
  6.         private static int i;
  7.         private static int n;
  8.         static String vis1 = "", vis2 = "";
  9.        
  10.         static public String controlloarraypredefinito() {
  11.                
  12.                 tipo = arraypredefinito.array();
  13.                
  14.                 switch (tipo){
  15.                        
  16.                         case 's' :
  17.                                
  18.                                 x = arraypredefinito.Array1s.length;
  19.                                 y = arraypredefinito.Array2s.length;
  20.                                
  21.                                 for (i=0;i<=x;i++) {
  22.                                        
  23.                                         vis1 += arraypredefinito.Array1s[i];
  24.                                         vis2 += arraypredefinito.Array2s[i];
  25.                                        
  26.                                 }
  27.                                
  28.                                 if(x!=y) {
  29.                                        
  30.                                         return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  31.                                        
  32.                                 }else {
  33.                                
  34.                                
  35.                                         for (i=0;i<=x;i++) {
  36.                                        
  37.                                                 if(arraypredefinito.Array1s[i]!=arraypredefinito.Array2s[i]) {
  38.                                                        
  39.                                                         n++;
  40.                                                        
  41.                                                 }
  42.                                                
  43.                                        
  44.                                         }
  45.                                 }
  46.                                
  47.                         case 'c' :
  48.                                
  49.                                 x = arraypredefinito.Array1c.length;
  50.                                 y = arraypredefinito.Array2c.length;
  51.                                
  52.                                 for (i=0;i<=x;i++) {
  53.                                        
  54.                                         vis1 += arraypredefinito.Array1c[i];
  55.                                         vis2 += arraypredefinito.Array2c[i];
  56.                                        
  57.                                 }
  58.                                
  59.                                 if(x!=y) {
  60.                                        
  61.                                         return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  62.                                        
  63.                                 }else {
  64.                                
  65.                                
  66.                                         for (i=0;i<=x;i++) {
  67.                                        
  68.                                                 if(arraypredefinito.Array1c[i]!=arraypredefinito.Array2c[i]) {
  69.                                                        
  70.                                                         n++;
  71.                                                        
  72.                                                 }
  73.                                                
  74.                                        
  75.                                         }
  76.                                 }
  77.                                
  78.                         case 'd' :
  79.                                
  80.                                 x = arraypredefinito.Array1d.length;
  81.                                 y = arraypredefinito.Array2d.length;
  82.                                
  83.                                 for (i=0;i<=x;i++) {
  84.                                        
  85.                                         vis1 += arraypredefinito.Array1d[i];
  86.                                         vis2 += arraypredefinito.Array2d[i];
  87.                                        
  88.                                 }
  89.                                
  90.                                 if(x!=y) {
  91.                                        
  92.                                         return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  93.                                        
  94.                                 }else {
  95.                                
  96.                                
  97.                                         for (i=0;i<=x;i++) {
  98.  
  99.                                                 if(arraypredefinito.Array1d[i]!=arraypredefinito.Array2d[i]) {
  100.                                                        
  101.                                                         n++;
  102.                                                        
  103.                                                 }
  104.                                                
  105.                                        
  106.                                         }
  107.                                 }
  108.                                
  109.                         case 'i' :
  110.        
  111.                                 x = arraypredefinito.Array1i.length;
  112.                                 y = arraypredefinito.Array2i.length;
  113.        
  114.                                 for (i=0;i<=x-1;i++) {
  115.                                        
  116.                                         vis1 += arraypredefinito.Array1i[i] + ", ";
  117.                                         vis2 += arraypredefinito.Array2i[i];
  118.                                        
  119.                                 }
  120.                                
  121.                                 if(x!=y) {
  122.                
  123.                                         return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  124.                
  125.                                 }else {
  126.        
  127.        
  128.                                         for (i=0;i<=x;i++) {
  129.                                                
  130.                                                 if(arraypredefinito.Array1i[i]!=arraypredefinito.Array2i[i]) {
  131.                                
  132.                                                         n++;
  133.                                
  134.                                                 }
  135.                        
  136.                
  137.                                         }
  138.                                 }
  139.                 }
  140.                
  141.                 if (n!=0) {
  142.                        
  143.                         return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  144.                        
  145.                 }else {
  146.                        
  147.                         return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array sono uguali";
  148.                        
  149.                 }
  150.                
  151.         }
  152.        
  153.         static public String controlloinserirearray() {
  154.                
  155.                         switch (tipo){
  156.                        
  157.                                 case 's' :
  158.                                
  159.                                         x = inserirearray.Array1s.length;
  160.                                         y = inserirearray.Array2s.length;
  161.                                
  162.                                         for (i=0;i<=x;i++) {
  163.                                                
  164.                                                 vis1 += inserirearray.Array1s[i];
  165.                                                 vis2 += inserirearray.Array2s[i];
  166.                                        
  167.                                         }
  168.                                        
  169.                                         if(x!=y) {
  170.                                        
  171.                                                 return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  172.                                                
  173.                                         }else {
  174.                                
  175.                                
  176.                                                 for (i=0;i<=x;i++) {
  177.                                        
  178.                                                         if(inserirearray.Array1s[i]!=inserirearray.Array2s[i]) {
  179.                                                        
  180.                                                                 n++;
  181.                                                        
  182.                                                         }
  183.                                                
  184.                                        
  185.                                                 }
  186.                                         }
  187.                                
  188.                                 case 'c' :
  189.                                
  190.                                         x = inserirearray.Array1c.length;
  191.                                         y = inserirearray.Array2c.length;
  192.                                        
  193.                                         for (i=0;i<=x;i++) {
  194.                                                
  195.                                                 vis1 += inserirearray.Array1c[i];
  196.                                                 vis2 += inserirearray.Array2c[i];
  197.                                        
  198.                                         }
  199.                                        
  200.                                         if(x!=y) {
  201.                                        
  202.                                                 return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  203.                                        
  204.                                         }else {
  205.                                
  206.                                
  207.                                                 for (i=0;i<=x;i++) {
  208.                                        
  209.                                                         if(inserirearray.Array1c[i]!=inserirearray.Array2c[i]) {
  210.                                                        
  211.                                                                 n++;
  212.                                                        
  213.                                                         }
  214.                                                
  215.                                        
  216.                                                 }
  217.                                         }
  218.                                
  219.                                 case 'd' :
  220.                                
  221.                                         x = inserirearray.Array1d.length;
  222.                                         y = inserirearray.Array2d.length;
  223.                                
  224.                                         for (i=0;i<=x;i++) {
  225.                                                
  226.                                                 vis1 += inserirearray.Array1d[i];
  227.                                                 vis2 += inserirearray.Array2d[i];
  228.                                        
  229.                                         }
  230.                                        
  231.                                         if(x!=y) {
  232.                                        
  233.                                                 return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  234.                                        
  235.                                         }else {
  236.                                
  237.                                                
  238.                                                 for (i=0;i<=x;i++) {
  239.                                        
  240.                                                         if(inserirearray.Array1d[i]!=inserirearray.Array2d[i]) {
  241.                                                        
  242.                                                                 n++;
  243.                                                                
  244.                                                         }
  245.                                                
  246.                                        
  247.                                                         }
  248.                                                 }
  249.                                        
  250.                                 case 'i' :
  251.                
  252.                                         x = inserirearray.Array1i.length;
  253.                                         y = inserirearray.Array2i.length;
  254.                
  255.                                         for (i=0;i<=x;i++) {
  256.                                                
  257.                                                 vis1 += inserirearray.Array1i[i];
  258.                                                 vis2 += inserirearray.Array2i[i];
  259.                                        
  260.                                         }
  261.                                        
  262.                                         if(x!=y) {
  263.                        
  264.                                                 return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  265.                        
  266.                                         }else {
  267.                
  268.                
  269.                                                 for (i=0;i<=x;i++) {
  270.  
  271.                                                         if(inserirearray.Array1i[i]!=inserirearray.Array2i[i]) {
  272.                                        
  273.                                                                 n++;
  274.                                        
  275.                                                         }
  276.                                
  277.                        
  278.                                                 }
  279.                                         }
  280.                         }
  281.                        
  282.                         if (n!=0) {
  283.                                
  284.                                 return "Array1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array non sono uguali";
  285.                                
  286.                         }else {
  287.                                
  288.                                 return "Array 1: " + vis1 + "\n" + "Array 2: " + vis2 + "\n" + "Gli array sono uguali";
  289.                                
  290.                         }
  291.                        
  292.         }
  293.  
  294. }


PM Quote
Avatar
Thejuster (Member)
Guru^2


Messaggi: 1879
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 14:37
Giovedì, 28/06/2018
Mattone questo non è un forum su indovinelli lol.

Che errore hai?
In quale punto?
descrivi bene il tuo problema...


PM Quote
Avatar
beltromatti (Normal User)
Newbie


Messaggi: 2
Iscritto: 07/09/2018

Segnala al moderatore
Postato alle 18:44
Venerdì, 07/09/2018
Quanto codice per uno scopo tanto semplice!
adesso non ho tempo ma vedrò di analizzarlo bene:k:


Programmare... LA MIA PASSIONE
PM Quote
Avatar
comtel (Member)
Pro


Messaggi: 140
Iscritto: 08/04/2011

Segnala al moderatore
Postato alle 12:51
Sabato, 08/09/2018
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..

PM Quote