Poi, ho fatto un errore...
Invece di risolvere il problema per i numeri positivi e negativi, ho risolto per pari e dispari...
Ho corretto l'esercizio con do/while:
codice:
/**Progettare una classe che consenta
di richiedere numeri finché viene inserito il valore 0 (zero).
Alla fine indichi quanti sono stati i
numeri positivi e i numeri negativi inseriti.
Risolvere il seguente esercizio rispettando le seguenti fasi:
- descrizione del problema;
- analisi dei dati (costanti, variabili, input, output, attributi, metodi);
- pseudo codifica dell’algoritmo risolutivo;
- implementazione in Java.*/
/*
<<<Descrizione del problema>>>
Bisogna scrivere un algoritmo che
consenta di richiedere numeri interi
finchè viene inserito il numero 0 e
indichi quanti sono stati inseriti
i numeri positivi e negativi.
<<<Analisi dei dati>>>
*variabili
-numeri
*input
-numeri
*output
-numeriPos
-numeriNeg
*metodi
<<<Pseudo codifica>>>
inizio classe Zero_Pos_Neg
int numeri;
1.chiedo, leggo e memorizzo i numeri;
2.verifico se il numero inserito è positivo
o negativo e lo memorizzo;
3.verifico se viene inserito lo zero;
4.se lo zero viene inserito, allora elenco da una
parte i numeri posotivi e dall'altra i negativi
e finisco il programma;
fine classe Zero_Pos_Neg
*/
//Importo la classe di utilità Scanner
import java.util.Scanner;
class Zero_Pos_Neg
{
public static void main (String[]args)
{
//dichiaro e istanzio le variabili
int numero;
String numeriPos="";
String numeriNeg="";
//costruisco l'oggetto <sc> derivante dalla classe Scanner
Scanner sc = new Scanner(System.in);
do{
System.out.print("Inserire un numero intero(positivo o negativo):");
numero = sc.nextInt();
if (numero>0)
numeriPos += ""+numero+",";
if (numero<0)
numeriNeg += ""+numero+",";
} while (numero != 0);
//stampo in output i numeri pari da una parte ed i dispari dall'altra
System.out.println("I numeri positivi inseriti sono:"+ numeriPos );
System.out.println("I numeri negativi inseriti sono:"+ numeriNeg );
}
}
Questo va bene, inveco quello solo con while no...