Ecco la consegna:
Esercizio 10
Scrivere un programma che scomponga un numero in fattori primi
tipo ad esempio 13+5=18
Ho pensato di fare un array di tutti i numeri primi contenuti nel numero che l'utente inserirà, ho guardato dei tutorial di ArrayList ma non ho capito ... Ho provato a farlo e ovviamente da degli errori.Questo è quello che ho fatto:
1) Perché lo devo mettere in una classe?
2)perché devo mettere davanti static?
3) perché devo mettere le parentesi così () alla fine?
4)Dove sto sbaglando?
5)Ci sono metodi migliori per risolvere questo esercizio?
package vacanze_estive_10;
import javax.swing.JOptionPane;
import java.util.ArrayList;
/**
*
* @author OOO
*/
public class Vacanze_estive_10 {
static primi <int> = new primi <int>();
public static void main(String[] args) {
String input = JOptionPane.showInputDialog("Inserisci il numero");
int numero = Integer.parseInt(input);
int i = 0;
int min = 2;
primi.add(1);
primi.add(2);
boolean b = false;
int sommaTot = 0;
String somma = "";
int c = 0;
for (i = 3; i < numero; i++) {
min = i - 1;
while (min > 1) {
if (i % min == 0) {
b = true;
}
min--;
}
if (!b) {
primi.add(i);
}
b = false;
}
for (c = primi.length; c >= 0; c--) {
sommaTot += primi[i];
if (sommaTot > numero) {
sommaTot -= primi[i];
} else {
somma += i + " + ";
}
}
somma = somma.substring(somma.length() - 2);
JOptionPane.showMessageDialog(null, somma + "= " + numero);
}
}