|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Il codice + geniale della storia...
Guardate cosa ho trovato ravanando nel codice....
![]() Codice:
public static final boolean BEEP_DEBUG = false;
public static void beep() {
if (BEEP_DEBUG) {
try {
throw new NullPointerException();
} catch (Exception ex) {
System.err.println("BEEP !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
ex.printStackTrace();
}
}
java.awt.Toolkit.getDefaultToolkit().beep();
}
__________________
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 1455
|
indubbiamente..
BEEEEEEEEEEEEEEEEEEEPPPPPPPPPP
__________________
Ciao ~ZeRO sTrEsS~ |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 1059
|
ravanando nel codice di??
|
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
da notare l'IF in cui non entra mai e SOPRATTUTTO l'eccezione lanciata e catchata subito dopo
__________________
|
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Feb 2004
Città: TREVISO
Messaggi: 902
|
magari voleva solo fare una prova per veder come si lanciano le eccezioni....
.....e magari si sarà scervellato per giorni e giorni sul come mai quel pezzo di codice non scriveva mai "BEEEEEEEEEEP!!!!!!" pensando di aver sbagliato a lanciare l'eccezione
__________________
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Jan 2005
Città: London, United Kingdom
Messaggi: 959
|
Quote:
Vieni qui, credi un thread iasbcczbuacb j potresti averlo fatto tu.... capisco se fosse la Microsoft ma altrimenti che c'é di strano? edit ma poi lo usava come debug, cambiava il valore a quella variabile e via... dove cavolo l'hai preso?
__________________
zattix |
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
L'if in cui non entra mai è un classico dei debug vecchia maniera ed è una condizione esplicitamente citata forse nel Gosling o addirittura nelle specifiche del linguaggio. La storia è che il compilatore che normalmente dovrebbe dichiarare come irraggiungibile un percorso condizionato da un "false" non lo fa se quel false è il valore di una variabile boolean costante.
Suppongo inoltre che la condizione intercettata e rilasciata sia stata inserita per ottenere la traccia dello stack frame del Thread di esecuzione. Probabilmente al creatore è sfuggito l'appiglio offerto da Thread.currentThread().getStackTrace() oppure ha scelto di non usarlo per brevità. Scelta che non condivido ma l'effetto è quello. Anche il beep potrebbe avere un senso se immaginiano che l'esecuzione del debug richieda tempi lunghi e magari i casi di invocazione di quel codice siano eventuali e sporadici. Tutto questo per dire che un significato ce l'ha il che è molto: il vero "orendo" per me è ben altro
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
|
Quote:
Vabbè ke su diverse centinaia di migliaia di righe di codice ci si aspetta di trovare di tutto.. ma questo non me lo sarei mai aspettato
__________________
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Mar 2003
Messaggi: 3852
|
Simpatico questo codice..
__________________
Cerco fotocamera con buono zoom!! CLICCA! ° Moderatore del Forum Ufficiale di ElaborarE (responsabile sezione HI-FI e Car Audio) ° |
|
|
|
|
|
#11 |
|
Bannato
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
|
...altrettanto notevole...
(from Usenet) > I am new to java, and I really havent had time to do much work in it. > However, I have a small project that is due next week for my class. Can > anyone help me by providing some code? It should do the following; > > The program is simple. It should allow a user to input a string of digits, > and then output the sum of those digits. > > For example; the user inputs 3563 > the program would then output 17 (3+5+6+3) and one the answer was public class Homework{public static void main (String[] OoO) {for (int oOo=0;oOo<OoO.length;++oOo) main (OoO [oOo]);} public static void main (String oOo){String Oo0="9876543210"; long o0o=oOo.length()*Oo0.length ();for(int OoO=oOo.length();--OoO>=0 (OoO));o0o-=O0O<0?012:++O0O;} main(oOo,o0o);} public static void main( String Oo0,long oOo){System.out.print("Sum of digits in ");for(int O0O =0;O0O<Oo0.length();++O0O)System.out.print(Oo0.charAt(O0O));System.out .print(" = ");System.out.println(oOo);}} ...il programma è stato presentato esattamente così...privo di ogni indentazione...un seguace della lotta contro la pappa pronta?... ...ciao.. |
|
|
|
|
|
#12 | |
|
Senior Member
Iscritto dal: Apr 2003
Città: Genova
Messaggi: 4747
|
Quote:
personalmente credo che uno, che distingue 5 variabili in una routine chiamandole OoO oOo Oo0 O0O o0o lo fustigherei tenendolo inginocchiato sui ceci - ma voi non è detto dobbiate imitarmi eh
__________________
Jappilas is a character created by a friend for his own comic - I feel honored he allowed me to bear his name Saber's true name belongs to myth - a Heroic Soul out of legends, fighting in our time to fullfill her only wish Let her image remind of her story, and of the emotions that flew from my heart when i assisted to her Fate
Ultima modifica di jappilas : 27-01-2007 alle 13:09. |
|
|
|
|
|
|
#13 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
Quote:
avevo bisogno di lanciare un eccezione in un metodo lungo 20 righe(per provare una cosa), e ho messo la throw in testa. Eclipse si è subito lamentato del fatto che ci fosse del codice irraggiungibile e l'ho fregato con un if(true)
|
|
|
|
|
|
|
#14 | |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
Quote:
Codice:
public class Homework
{
public static void main(String[] arguments)
{
for (int i = 0; i < arguments.length; ++i)
{
main(arguments[i]);
}
}
public static void main(String singleArgument)
{
String digits = "9876543210";
long length = singleArgument.length() * digits.length();
for (int i = singleArgument.length(); --i >= 0;)
{
int index = digits.indexOf(singleArgument.charAt(i));
length -= index < 0 ? 10 : ++index;
}
main(singleArgument, length);
}
public static void main(String argument, long length)
{
System.out.print("Sum of digits in ");
for (int i = 0; i < argument.length(); ++i)
{
System.out.print(argument.charAt(i));
}
System.out.print(" = ");
System.out.println(length);
}
}
![]() mancherebbe solo da dare dei nomi decenti ai tre main, comunque orientativamente il tizio è un emerito coglione (algoritmo di complessità quadratica per quella cazzata?? )
|
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Io la trovo una soluzione elegante e non banale. Sicuro che sia quadratico? A me sembra un O(n) ma potrei sbagliarmi.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#16 | |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
Quote:
|
|
|
|
|
|
|
#17 | |
|
Senior Member
Iscritto dal: Dec 2005
Città: Istanbul
Messaggi: 1817
|
Quote:
Elegante secondo me no, non so in Java, ma in altri linguaggi bastano 2-3 righe
__________________
One of the conclusions that we reached was that the "object" need not be a primitive notion in a programming language; one can build objects and their behaviour from little more than assignable value cells and good old lambda expressions. —Guy Steele |
|
|
|
|
|
|
#18 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
E' per via della sottrazione. Non che non si possa fare tutto più sintetico e c'è qualche bizzarria ma io non avrei pensato ad una soluzione simile. Ha tanto dell'hack. Tutto qua.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#19 | |
|
Senior Member
Iscritto dal: Dec 2000
Città: bologna
Messaggi: 1309
|
Quote:
Le cose da "ottimizzare" a occhio, sono il ciclo for per stampare la stringa(si stampa da sola ) e la stringa digits che funziona anche come String digits = "987654321"; a patto di sostituire digits.length() con 10.Per il resto la trovo anche io una soluzione elegante(e ci ho messo un po a capirla fra l'altro...) Ultima modifica di thebol : 28-01-2007 alle 22:48. |
|
|
|
|
|
|
#20 |
|
Bannato
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
|
la soluzione migliore che riesco a pensare:
Codice:
public class Homework
{
private static final int DIGITS[] = {0,1,2,3,4,5,6,7,8,9};
public static void main(String[] arguments)
{
for (int i = 0; i < arguments.length; ++i)
{
processArgument(arguments[i]);
}
}
public static void processArgument(String argument)
{
long result = 0;
for (int i = 0; i < argument.length(); i++)
{
try
{
result += DIGITS[argument.charAt(i) - '0'];
}
catch (IndexOutOfBoundsException e)
{
return;
}
}
System.out.print("Sum of digits in " + argument + " = ");
System.out.println(result);
}
}
![]() comunque si, il fatto che la complessità fosse quadratica (o almeno così mi pare) era riferito all'uso di indexOf. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:04.




















