Buonasera a tutti.. ho un problema con una semplice scomposizione in fattori primi...
La classe che contiene il metodo è questa:
Nel mainFrame, al click del bottone, si legge dal TextField il numero da scomporre e si stampano i fattori.codice:public class Fattorizzazione { int[] a; public long[] scomponi(int n) { long[] a = new long[n]; int i = 0, c = 2; while(n > 1) { if (n%c == 0) { a[i] = c; n = n / c; i++; } else { c++; i++; } } return a; } }
Il problema è che con numero come ad esempio 23 o 45, tra i fattori mi stampa anche lo zero..codice:private void bottoneScomponiActionPerformed(java.awt.event.ActionEvent evt) { int s = Integer.parseInt(n.getText()); if (s == 0) JOptionPane.showMessageDialog(this, "Non hai immesso un valore valido", "Errore", JOptionPane.DEFAULT_OPTION); else { fat.scomponi(s); array = new long[s]; array = fat.scomponi(s); fattori.setText(n.getText() + " = {"); fattori.setText(fattori.getText() + String.valueOf(array[0])); for (i = 1; i < array.length; i++) if (array[i] > 0) fattori.setText(fattori.getText()+","+String.valueOf(array[i])); fattori.setEditable(false); fattori.setText(fattori.getText() + "}"); } }perché!? Vi ringrazio in anticipo e scusate se è una cosa babba
![]()

perché!? Vi ringrazio in anticipo e scusate se è una cosa babba
Rispondi quotando
