Mettendo char[]rappresenta prima dell'if,non mi da piu errore nel return , ma me lo segna all'interno dei cicli.Precisamente agli altri array utilizzati o.o. Perchè? Alla fine stanno dentro parentesi ,non dovrebbero essere visibili al di fuori.
Mettendo char[]rappresenta prima dell'if,non mi da piu errore nel return , ma me lo segna all'interno dei cicli.Precisamente agli altri array utilizzati o.o. Perchè? Alla fine stanno dentro parentesi ,non dovrebbero essere visibili al di fuori.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
static char[] valueOf (boolean b){
char[]rappresenta;
if(b=true) {char[]rappresenta=new char[]{'t','r','u','e'};
}
else {char[]rappresenta=new char[]{'f','a','l','s','e'};
}
return rappresenta;
}
Hai definito una variabile rappresenta all'inizio, ed è ok. Ma poi NON puoi più definire un'altra variabile con lo stesso nome da lì in avanti nel metodo! E tu ne hai definite altre due, nei blocchi di if e else con lo stesso nome.
Semplicemente non definirne altre.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
char[]rappresenta;
if(b=true) {rappresenta=new char[]{'t','r','u','e'};
}
else {rappresenta=new char[]{'f','a','l','s','e'};
}
return rappresenta;
}
messo cosi mi stampa true se boolean b è true,ma se è false ristampa comunque true.Perchè?
Gia che ci sono approfitto anche per chiedere un'altra cosa:--->
-static char[] valueOf (long n)
/*prende come parametro un long n e crea e restituisce una nuova stringa che lo rappresenta.*/
char c=(char)n;//converto da long a char
char[]rappresenta={c};
return rappresenta;
ho fatto così, ma non va. E l'esercizio mi dice di non usare le ("") ne(classe string con i suoi metodi),altrimenti avrei scritto :
char [] rappresenta=(""+n).toCharArray();
return rappresenta;
E andava. Quindi cosa ho dimenticato questa volta :S?
Perché scrivendo if(b=true) stai assegnando alla variabile b il valore true dentro alla clausola if, quindi anche se entra come false lo setti a true.
Se vuoi controllare il valore di una variabile devi usare l'operatore ==, ma nota che per i booleani scrivere if(b==true) coincide con scrivere if(b)
Mi spiace, ma non credo proprio che sia quanto richiesto!! Se ti viene passato un long 12345, allora dovresti restituire un array di char di 5 elementi con i caratteri 1 2 3 4 5
Questo ho compreso io (e che è sensato e utile).
E se devi farlo senza usare i metodi di utility del framework, allora serve un pochino di matematica.
P.S. scusa se lo chiedo ma ... hai un libro di testo su cui studiare o stai andando mooolto a caso?
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
ahahahah si , si chiama gocce di java.... e vado molto anche a caso.
Non lo conosco, l'ho visto ora su Amazon.
Capisco le difficoltà di chi inizia, ovviamente. Però se gli altri esercizi precedenti erano davvero "banalità", questo del long in char[] è molto più impegnativo, perché senza usare qualcosa di già fatto (che esiste nel framework standard), devi usare un po' di logica e matematica.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
E infatti per quello che non so come partire,perche se potevo usare dei metodi era gia fatto(almeno credo ahah) comunque proverò vediamo cosa ne esce.