Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 18-07-2009, 09:10   #1
ScorpionGT
Senior Member
 
L'Avatar di ScorpionGT
 
Iscritto dal: Dec 2001
Messaggi: 516
[JAVA] Gli if non sempre funzionano...

Ciao a tutti! Ieri ho visto un errore stranissimo, direi scandaloso, che un mio collega mi ha fatto notare, e che tuttora non mi riesco a spiegare. Allora, la porzione di codice incriminata è questa:
Codice:
.
.
boolean value = true;
.
.
tanto codice bla bla
.
.
.
value = true;
if (!value) {
  return false;
}
.
.
Ora, logicamente parlando, in quell'if non dovrebbe entrare mai, giusto? E invece entra!!! Ma come cavolo è!! Entra!! Abbiamo provato a debuggare ed entra!! Ma com'è possibile?? Cioè, sono senza parole, incredibile! Abbiamo provato anche a mettere "value != true" come condizione ed entra!! Assurdo!
Ora, questo problema è sorto ieri sera su un computer di un mio collega, prima di andarcene, quindi potrò di nuovo metterci mano lunedì. Nel suo pc è installato NetBeans 6.7 e java 6 (non mi ricordo di preciso quale sottoversione, ma una delle ultime), come OS ha WindowsXP SP3. Secondo voi quale potrebbe essere il motivo di questo errore scandaloso che ci ha fatto perdere un bordello di tempo? La JDK? La JVM? NetBeans? WindowsXP? O cos'altro? Abbiamo provato a ricompilare con "clean & build" più volte assicurandoci che tutte le istanze del programma fossero chiuse. Non abbiamo provato a riavviare NetBeans ne Windows perché non c'era tempo, era ormai tardi. Cmq sia, non è normale un errore del genere, e anche se riavviando il sistema si risolvesse (o almeno lo spero, perché quell'if li ci serve, e non sapremmo come fare altrimenti), non è un errore che dovrebbe capitare.
Per la cronaca, gli altri if sembravano funzionare, ma a questo punto chissà se su migliaia e migliaia di righe di codice da qualche parte c'era qualche altro if "difettoso"
__________________
ScorpionGT è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2009, 09:32   #2
Don[ITA]
Senior Member
 
L'Avatar di Don[ITA]
 
Iscritto dal: Jul 2006
Città: Bergamo
Messaggi: 401
Posta altro codice se ti è possibile. E prova a mettere una System out dentro quell'if per avere la certezza assoluta che sia quello a tornare false:
Codice:
value = true;
if (!value) {
  System.out.println(...);
  return false;
}
Ciauz
__________________
iMac 27" 5K
Don[ITA] è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2009, 10:53   #3
shinya
Senior Member
 
L'Avatar di shinya
 
Iscritto dal: Jul 2005
Città: Bologna
Messaggi: 1130
Secondo me tu e il tuo collega state programmando per coincidenze.
Codice:
final class IfTest {
  public static void main(final String[] args) {
    boolean value = true;

    if (!value) {
      assert false : "zOMG! This freaks me out!!1";
      System.exit(-666);
    }

    System.out.println("Ok, it's cool...");
  }
}
Prova questo (java -ea IfTest) e convinciti che l'if funziona bene...
shinya è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2009, 13:39   #4
MEMon
Senior Member
 
Iscritto dal: Dec 2002
Messaggi: 3359
Quote:
Originariamente inviato da shinya Guarda i messaggi
Secondo me tu e il tuo collega state programmando per coincidenze.
*
MEMon è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2009, 16:39   #5
ScorpionGT
Senior Member
 
L'Avatar di ScorpionGT
 
Iscritto dal: Dec 2001
Messaggi: 516
Piccolo aggiornamento: il mio collega mi ha detto che adesso, senza fare nessuna modifica, tutto funziona. Quindi riavviando il computer la cosa si è risolta. Tuttavia sono errori che lasciano senza parole, già il codice è complesso di suo, se in più si aggiungono sti errori qui, alleluia. Chissà quale componente sarà stata la colpevole ... l'IDE? la JVM? ... boo?

X don: adesso non posso postare altro codice, ce l'ha il mio collega. Cmq è vero, una print avrebbe tolto ogni dubbio. Tuttavia c'era il debug di NetBeans che diceva che quella variabile era true, però poteva essere benissimo che si fosse imputtanato anche lui, quindi non c'è certezza.

X shinya: in che senso stiamo programmando per coincidenze?
__________________
ScorpionGT è offline   Rispondi citando il messaggio o parte di esso
Old 18-07-2009, 17:30   #6
PGI-Bis
Senior Member
 
L'Avatar di PGI-Bis
 
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
Direi che è un problema di IDE. Ovviamente gli if Java funzionano altrimenti la bugparade sarebbe scoppiata tanto tempo fa.

Forse il file class risultava in uso e il clean and build in verità non "clean" un bel nulla.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me!
PGI-Bis è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La prima missione orbitale del razzo spa...
Servizi in streaming sempre più c...
Anteprima della Leapmotor B03X: inizia l...
Anthropic accusa la Cina: Claude utilizz...
I satelliti Rassvet (Starlink russo) di ...
Un agente IA ha risolto un problema su W...
Cina: la CMSA potrebbe cambiare parte de...
68 mensilità di bonus per i dipen...
Rocket Lab ha fatto ricorso contro la de...
Nutanix rende disponibile Azure Virtual ...
Il padrino del deep learning avverte: gl...
Il finto avviso "iPhone Storage is Full"...
Dietrofront in Cina, addio touchscreen p...
Un piccolo accessorio trasforma lo smart...
Dopo 370 anni il Cyphral Distich non è p...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v