Programma java da int[] a stringa
Scrivere un metodo stampaInteri che preso in ingresso un array di interi, lo stampi sullo schermo usando la notazione insiemistica.
Es: sia dato l'array contenente gli interi 2,3,1,5 e 10, il metodo dovrà stampare la seguente stringa:
{2, 3, 1, 5, 10}
come dovrei fare per inserire le virgole tra i vari numeri ??
Es: sia dato l'array contenente gli interi 2,3,1,5 e 10, il metodo dovrà stampare la seguente stringa:
{2, 3, 1, 5, 10}
come dovrei fare per inserire le virgole tra i vari numeri ??
Risposte
Ciao,
non vedo tutta questa difficoltà.
Se è semplice stampa a linea di comando, con System.out.println risolvi tutto, se sai per concatenare dati stampabili basta utilizzare "+".
non vedo tutta questa difficoltà.
Se è semplice stampa a linea di comando, con System.out.println risolvi tutto, se sai per concatenare dati stampabili basta utilizzare "+".

questo è quello che ho scritto.quando vado a compilarlo mi stampa { ,12,7,8,22,1,128} come posso eliminare lo spazio e la virgola prima del 12
public class Es3{
static String stampaInteri( int[] a){
String s = " ";
for (int i =0; i
s =s+","+a;
return s;
}
public static void main(String[] args) {
int[] a = {12,7,8,22,1,128};
String s = stampaInteri(a);
System.out.println("{"+s+"}");
}
}
public class Es3{
static String stampaInteri( int[] a){
String s = " ";
for (int i =0; i
return s;
}
public static void main(String[] args) {
int[] a = {12,7,8,22,1,128};
String s = stampaInteri(a);
System.out.println("{"+s+"}");
}
}
Perchè fai tutto questo giro per stampare un array di interi?
La println è abbastanza potente per riconoscere un tipo intero e convertirtelo in string senza che tu faccia qualcosa.
Prova ad utilizzare print() invece che println() per non andare a capo durante la stampa, e nel ciclo for invece che salvare la stringa, stampala.
Invece per elimiare la "," che ti ritornerà all'inizio o alla fine prova ad usare il carattere backspace "\b" (in unicode controlla qual è il corrispondente dell'ascii). se no basta che interrompi il cliclo for al $n-1$-esimo intero, e stampa a "mano" l'ultimo intero senza virgola.
Prova
La println è abbastanza potente per riconoscere un tipo intero e convertirtelo in string senza che tu faccia qualcosa.
Prova ad utilizzare print() invece che println() per non andare a capo durante la stampa, e nel ciclo for invece che salvare la stringa, stampala.
Invece per elimiare la "," che ti ritornerà all'inizio o alla fine prova ad usare il carattere backspace "\b" (in unicode controlla qual è il corrispondente dell'ascii). se no basta che interrompi il cliclo for al $n-1$-esimo intero, e stampa a "mano" l'ultimo intero senza virgola.
Prova

scusa ma non ho capito io ho appena iniziato a programmare con java
semplicemente questo, rieditando il tuo codice:
se hai dubbi chiedi pure
public class Es3 { static void stampaInteri(int[] a) { System.out.print("{"); for (int i = 0; i < a.length; i++) { System.out.print(a[i] + ","); } System.out.println("\u0008}"); } public static void main(String[] args) { int[] a = {12, 7, 8, 22, 1, 128}; stampaInteri(a); } }
se hai dubbi chiedi pure

O anche qualcosa tipo
@ham_burst
Non molto portabile la tua soluzione, credo...
static void stampaInteri(int[] a) { System.out.print("{"); for (int i = 0; i < a.length; i++) { if (i) System.out.print(", "); System.out.print(a[i]); } }
@ham_burst
Non molto portabile la tua soluzione, credo...

@ham_burst
Non molto portabile la tua soluzione, credo...
mmm se è per il "\b" in unicode, mi faceva pensare pure a me, ma per sto esercizio mi pareva andare bene.
Se non è quello, cosa intendi?