Torna indietro   Hardware Upgrade Forum > Software > Programmazione

realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-02-2012, 13:02   #1
theUser
Member
 
Iscritto dal: Jul 2007
Messaggi: 108
[JAVA] non capisco come si comporta while

Ho iniziato da poco con java e sto scrivendo la classica calcolatrice per esercitarmi.
Codice PHP:
import java.util.Scanner;

public class 
Main {
    public static 
void main(String args[]){
        
System.out.println("Premi 'h' per le istruzioni.");
        
Scanner input = new Scanner(System.in);
        while(
== 1){
            
System.out.print("Seleziona operazione: ");
            switch (
input.nextLine()){
                case 
"h":
                    
System.out.println("");
                    
System.out.println("Seleziona prima l'operazione e scrivi poi " +
                            
" i numeri separando la parte intera da quella decimale " +
                            
" con ','.");
                    
System.out.println("'+': addizione");
                    
System.out.println("'-': sottrazione");
                    
System.out.println("'*': moltiplicazione");
                    
System.out.println("'/': divisione");
                    break;
                case 
"*":
                    
System.out.println("");
                    
System.out.print("Primo numero: ");
                    
double ab;
                    
input.nextDouble();
                    
System.out.println("");
                    
System.out.print("Secondo numero: ");
                    
input.nextDouble();
                    
System.out.println("");
                    
System.out.println(b);
            }
        }
    }

Non capisco una cosa: la prima volta "Seleziona operazione: " viene stampato una volta sola ma ai cicli successivi 2 volte. Perchè?
theUser è offline   Rispondi citando il messaggio o parte di esso
Old 20-02-2012, 13:39   #2
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da theUser Guarda i messaggi
Non capisco una cosa: la prima volta "Seleziona operazione: " viene stampato una volta sola ma ai cicli successivi 2 volte. Perchè?
Io ho provato il codice, e noto che si comporta correttamente, non stampa due volte "Seleziona operazione".
Comunque while continua ad eseguire il codice nel suo corpo finchè la sua condizione risulta vera. Comunque "1==1" come condizione non si può vedere, puoi anche scrivere "true" a questo punto
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 21-02-2012, 17:52   #3
rootshooter
Member
 
Iscritto dal: Nov 2006
Messaggi: 201
Ti sta processando anche il carattere Invio "\n".


Quando nel caso "*" esegui
Codice PHP:
input.nextDouble(); 
e lo immetti premendo invio, nello stream c'è "b\n". Il metodo nextDouble() prende b e lo rimuove dal buffer. Ma rimane "\n". Così al ritorno

Codice PHP:
switch (input.nextLine()){

legge "\n" ed entra nello switch case.

In poche parole devi svuotare il buffer di lettura. Con l'approccio che vuoi.

Ultima modifica di rootshooter : 21-02-2012 alle 17:55.
rootshooter è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
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...
Progettazione di chip grazie all'IA: da ...
Google aggiorna Gmail: copiare un codice...
Un attacco radio può intercettare...
Amazon dichiara guerra agli agenti AI: d...
Controller Wireless Xbox a 48,99€ invece...
Monitor ASUS TUF a 99€: Fast IPS da 24,5...
Google rompe una regola vecchia 15 anni ...
Internet Explorer non è ancora mo...
Moto Buds 2 crollano a 39,14€ invece di ...
I cheat valgono più di Call of Du...
7 smartphone in offerta su Amazon: Samsu...
Dreame L40 Ultra A costa 329€ su Amazon:...
AMD ha superato per la prima volta i 1.0...
Raspberry Pi: stop agli hack sulla RAM, ...
Più sottile di un capello, resist...
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: 08:41.


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