-
| .
|
Junior Member
- Group
- Member
- Posts
- 24
- Status
- Offline
|
|
Buongiorno a tutti. Ho iniziato a studiare Java e mi trovo alle prese con un ciclo di controllo If che funziona un po' come gli pare (a mio avviso). Se i parametri da controllare inseriti da tastiera sono numerici tuto va bene; se sono caratteri proprio li snobba. Allego il listato del programmino di prova (che non fa altro che dirmi in che anno festeggerò o ho festeggiato il mio compleanno in base ai dati inseriti) sperando che possiate chiarirmi il perché di questo comportamento, cioè: dove sbaglio? Un saluto Luigi
CODICE import java.text.SimpleDateFormat;/*SimpleDateFormat è una * classe concreta per la formattazione delle * date*/ import java.util.Date;/*La classe Date rappresenta un * momento nel tempo, con una precisione al millisecondo. * Il risultato è una stringa*/ import java.util.Calendar;/*la classe Calendar fornisce metodi per gestire le date e il risultato è un intero*/ import java.util.Scanner;/*Carica la classe Scanner dal *package (libreria) java.util*/
public class Compleanno { public static void main(String[] args) { java.util.Calendar calendario=java.util.Calendar.getInstance();/*creo un *oggetto della classe Calendar*/ int correnteAnno=calendario.get(Calendar.YEAR);/*utilizzo l'oggetto calendario *per assegnare la data alla variabile correnteAnno*/ //System.out.println("Corrente anno: "+correnteAnno); int annoDiNascita; int anniDiEta; int compleanno; int annoAttuale; String festa=""; String s=""; String n=""; String risposta; int risposta2; Scanner tastiera=new Scanner(System.in); SimpleDateFormat annoCorrente = new SimpleDateFormat(); annoCorrente.applyPattern("yyyy");//mi dà solamente l'anno di quattro cifre (yyyy) Date data=new Date();/* creo un nuovo oggetto data per ottenere in questo * caso l'anno attuale*/ annoAttuale=Integer.parseInt(annoCorrente.format(data));/*converte la stringa *in intero*/ while (annoAttuale>0){ //System.out.print("Anno corrente "+annoCorrente.format(data));
System.out.println(" ");
System.out.println("Ciao!"); System.out.println("Qual è il tuo anno di nascita? >"); annoDiNascita=tastiera.nextInt(); System.out.println(" "); System.out.println("Per conoscere la data del tuo compleanno "); System.out.println("devi inserire l'età che t'interessa >"); anniDiEta=tastiera.nextInt(); compleanno=annoDiNascita+anniDiEta; System.out.println(" "); if (compleanno<correnteAnno){ festa="festeggiato"; System.out.println(festa); } else{ festa="festeggerai";
} System.out.println("Hai "+festa+" i tuoi "+anniDiEta+" anni nel "+compleanno); System.out.println(" "); /*System.out.println("\nVuoi continuare? 1/0 >"); risposta2=tastiera.nextInt();
System.out.print("La risposta è: "+risposta2); System.out.println(" "); if (risposta2==0){ System.out.println("Risposta If "+risposta2); System.out.println("Adieu!"); break; }questo funziona*/
/*System.out.println("\nVuoi continuare? s/n >"); System.out.println(" "); risposta=tastiera.next(); System.out.print("La risposta è: "+risposta);
System.out.println(" ");
if (risposta==n){ System.out.println("Risposta If "+risposta); System.out.println("Adieu!"); break; } questo non funziona*/ } } }
|
|
| .
|
-
| .
|
Junior Member
- Group
- Member
- Posts
- 24
- Status
- Offline
|
|
Vabbè, trovato: sostituire con
if (risposta.equals("n")){ System.out.println("Risposta If "+risposta); System.out.println("Adieu!"); break; }
il pezzo:
if (risposta==n){ System.out.println("Risposta If "+risposta); System.out.println("Adieu!"); break; }
Una buona serata a tutti.
|
|
| .
|
-
| .
|
Member
- Group
- Administrator
- Posts
- 316
- Status
- Offline
|
|
CITAZIONE (Luigi Rubei @ 25/1/2021, 20:43) Vabbè, trovato: sostituire con
if (risposta.equals("n")){ System.out.println("Risposta If "+risposta); System.out.println("Adieu!"); break; }
il pezzo:
if (risposta==n){ System.out.println("Risposta If "+risposta); System.out.println("Adieu!"); break; }
Una buona serata a tutti. Ciao Luigi! Come va, tutto bene?
Ultimamente sono molto impegnato e non ho più controllato il forum
Grazie di aver condiviso la soluzione del problema
|
|
| .
|
2 replies since 24/1/2021, 12:39 64 views
.