Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-03-2010, 21:39   #1
CertainDeath
Member
 
L'Avatar di CertainDeath
 
Iscritto dal: Sep 2008
Città: Padova
Messaggi: 172
[Java]Dubbio su ciclo for

Sto provando a creare una specie di "bot" in Java.
Il problema è che non so da dove partire.
Analizzando il problema e semplificandolo ho pensato di fare qualcosa del genere:
Ovviamente è solo un punto di partenza.

Codice:
import jbook.util.Input;

public class Main {
	public static void main(String[] args) {
		System.out.println("Come ti chiami?");
		String persona;
		persona = Input.readString();
		System.out.println("Ciao " + persona + '!');

	}
}

Questa è la classe Input:

Codice:
package jbook.util;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Vector;

/**
 * Una semplice classe per leggere stringhe e numeri dallo standard input.
 */

public class Input {

	private static BufferedReader reader = new BufferedReader(
			new InputStreamReader(System.in));

	/**
	 * Legge una linea di input. Nell'improbabile caso di una IOException, il
	 * programma termina.
	 * 
	 * @return restituisce la linea di input che l'utente ha battuto.
	 */
	public static String readString() {
		String inputLine = "";
		try {
			inputLine = reader.readLine();
		} catch (IOException e) {
			System.out.println(e);
			System.exit(1);
		}
		return inputLine;
	}

	public static String readString(String msg) {
		System.out.print(msg);
		String inputLine = readString();
		return inputLine;
	}

	/**
	 * Legge una linea di input e la converte in un byte. Eventuali spazi
	 * bianchi prima e dopo l'intero vengono ignorati.
	 * 
	 * @return l'intero dato in input dall'utente
	 */
	public static byte readByte() {
		String inputString = readString();
		inputString = inputString.trim();
		byte n = Byte.parseByte(inputString);
		return n;
	}

	public static byte readByte(String msg) {
		System.out.print(msg);
		byte n = readByte();
		return n;
	}

	/**
	 * Legge una linea di input e la converte in uno short. Eventuali spazi
	 * bianchi prima e dopo l'intero vengono ignorati.
	 * 
	 * @return l'intero dato in input dall'utente
	 */
	public static short readShort() {
		String inputString = readString();
		inputString = inputString.trim();
		short n = Short.parseShort(inputString);
		return n;
	}

	public static short readShort(String msg) {
		System.out.print(msg);
		short n = readShort();
		return n;
	}

	/**
	 * Legge una linea di input e la converte in un int. Eventuali spazi bianchi
	 * prima e dopo l'intero vengono ignorati.
	 * 
	 * @return l'intero dato in input dall'utente
	 */
	public static int readInt() {
		String inputString = readString();
		inputString = inputString.trim();
		int n = Integer.parseInt(inputString);
		return n;
	}

	public static int readInt(String msg) {
		System.out.print(msg);
		int n = readInt();
		return n;
	}

	/**
	 * Legge una linea di input e la converte in un long. Eventuali spazi
	 * bianchi prima e dopo l'intero vengono ignorati.
	 * 
	 * @return l'intero dato in input dall'utente
	 */
	public static long readLong() {
		String inputString = readString();
		inputString = inputString.trim();
		long n = Long.parseLong(inputString);
		return n;
	}

	public static long readLong(String msg) {
		System.out.print(msg);
		long n = readLong();
		return n;
	}

	/**
	 * Legge una linea di input e la converte in un numero in virgola mobile a
	 * precisione singola. Eventuali spazi bianchi prima e dopo il numero
	 * vengono ignorati.
	 * 
	 * @return il numero dato in input dall'utente
	 */
	public static float readFloat() {
		String inputString = readString();
		inputString = inputString.trim();
		float x = Float.parseFloat(inputString);
		return x;
	}

	public static float readFloat(String msg) {
		System.out.print(msg);
		float x = readFloat();
		return x;
	}

	/**
	 * Legge una linea di input e la converte in un numero in virgola mobile a
	 * precisione doppia. Eventuali spazi bianchi prima e dopo il numero vengono
	 * ignorati.
	 * 
	 * @return il numero dato in input dall'utente
	 */
	public static double readDouble() {
		String inputString = readString();
		inputString = inputString.trim();
		double x = Double.parseDouble(inputString);
		return x;
	}

	public static double readDouble(String msg) {
		System.out.print(msg);
		double x = readDouble();
		return x;
	}

	/**
	 * Legge una linea di input e ne estrae il primo carattere.
	 * 
	 * @return il primo carattere della riga data in input dall'utente
	 */
	public static char readChar() {
		String inputString = readString();
		char c = inputString.charAt(0);
		return c;
	}

	public static char readChar(String msg) {
		System.out.print(msg);
		char c = readChar();
		return c;
	}

	/**
	 * Legge una linea di input e restituisce true se la stringa e' equals a
	 * "true" a meno di maiuscole e minuscole, false altrimenti.
	 * 
	 * @return il booeano dato in input dall'utente
	 */
	public static boolean readBool() {
		String inputString = readString();
		inputString = inputString.trim();
		boolean b = Boolean.parseBoolean(inputString);
		return b;
	}

	public static boolean readBool(String msg) {
		System.out.print(msg);
		boolean b = readBool();
		return b;
	}

	/**
	 * Legge una sequenza di stringhe conclusa dalla stringa vuota e restituisce
	 * la sequenza in un nuovo array di stringhe.
	 * 
	 * @return l'array delle stringhe date in input dal'utente
	 */
	public static String[] readSeq() {
		String[] seq = readSeq("");
		return seq;
	}

	public static String[] readSeq(String prompt) {
		Vector<String> seqTemp = new Vector<String>();
		System.out.print(prompt);
		String inputString = readString();
		while (inputString.length() > 0) {
			seqTemp.add(inputString);
			System.out.print(prompt);
			inputString = readString();
		}
		String[] seq = new String[seqTemp.size()];
		return seqTemp.toArray(seq);
	}

	public static String[] readSeq(String msg, String prompt) {
		System.out.println(msg);
		String[] seq = readSeq(prompt);
		return seq;
	}

}
Volendo continuare lo spezzone di codice sopra per chessò chiedere l'età e se età<18 visualizzare un dato messaggio se età>18 un altro messaggio.
Devo utilizzare un ciclo for?

L'età la introduco come Int o come Double?
__________________
PACKARD BELL Easy Note TJ75@CPU INTEL Core i5 430M //GPU ATI RADEON HD 5470//RAM CORSAIR 4GB DDR3// HD WESTERN DIGITAL 640GB SATAII 3.0 GB/s
CertainDeath è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2010, 21:45   #2
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
No, dovresti utilizzare un costrutto if-else. L'età scegli te come vederla.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2010, 22:00   #3
CertainDeath
Member
 
L'Avatar di CertainDeath
 
Iscritto dal: Sep 2008
Città: Padova
Messaggi: 172
Codice:
import jbook.util.Input;

public class Main {
	public static void main(String[] args) {
		System.out.println("Come ti chiami?");
		String persona;
		persona = Input.readString();
		System.out.println("Ciao " + persona + '!');
		double age = Input.readDouble("Inserire età: ");
		if (age > 18) {
			System.out.println("Sei maggiorenne");
		} else if (age < 18) {
			System.out.println("Sei minorenne");

		}

	}
}
Risolto

MI ero perso in un bicchier d'acqua.
Grazie
__________________
PACKARD BELL Easy Note TJ75@CPU INTEL Core i5 430M //GPU ATI RADEON HD 5470//RAM CORSAIR 4GB DDR3// HD WESTERN DIGITAL 640GB SATAII 3.0 GB/s
CertainDeath è offline   Rispondi citando il messaggio o parte di esso
Old 02-03-2010, 22:06   #4
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Un paio di cose. La dichiarazione del riferimento persona e l'assegnamento a questo riferimento puoi metterli insieme

Codice:
String persona = Input.readString();
Un'altra cosa. Così non hai previsto cosa succede per age = 18. Decidi in quale condizione metterlo e puoi fare diventare quel costrutto un if-else.
ndakota è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Un etilometro portatile può salva...
Arm Lumex: il nuovo core C1 porta l'inte...
I social media sono sempre più fa...
Aspirapolvere portatili super potenti pe...
CMF Phone 1 oggi costa soli 160€, uno sm...
Un parco solare da 174.000 pannelli: in ...
5G: alcuni operatori stanno iniziando a ...
Leica M-A no.5000000 'Papa Francesco': u...
Il nuovo Sony Xperia 10 VII si mostra on...
Samsung raddoppia: il Galaxy Z Fold 8 sa...
Gli smartphone premium sono sempre pi&ug...
Fusione nucleare, l'Italia entra in gioc...
AMD protagonista al CES 2026: il keynote...
Invia il tuo nome intorno alla Luna con ...
Apple presenta i nuovi iPhone 17 Pro e 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: 08:57.


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