Tiedon syöttö ohjelmaan

Tietojen kysyminen näppäimistöltä (java1.4)

Javassa tietojen kysyminen käyttäjältä ohjelman suorituksen aikana ei ole kaikista helpoiten tehty. Alla olevaan ohjelmaan on lihavoitu perusohjelmaan lisättävät komennot.

import java.io.*;
 
//Lukee käyttäjän antaman merkkijonon ja tulostaa sen
 
class Kaiku
{
        public static void main(String[] args) throws IOException
        {
          BufferedReader lukija =  new BufferedReader(new
               InputStreamReader(System.in));
 
          String syote;
 
          System.out.println("Anna teksti:");
 
          syote =   lukija.readLine();
 
          System.out.println("Kirjoitit:\" " + syote + "\" ");
        }
}
Ohjelma lukee siis käyttäjän kirjoittaman merkkijonon muuttujaan syote. Syötteen voi muuttaa edellä kuvatulla tavalla joko kokonaisluvuksi tai desimaaliluvuksi.

Alla oleva ohjelma kysyy käyttäjältä lukuja.

import java.io.*;
 
class Lukuja
{
	public static void main(String args[]) throws IOException
	{
		BufferedReader lukija = new BufferedReader(new InputStreamReader(System.in));
 
		String syote;
		int kokonaisluku;
		double desimaaliluku;
 
		System.out.print("Anna kokonaisluku:");
		syote = lukija.readLine();
		kokonaisluku = Integer.parseInt(syote);
		System.out.println("Annoit kokonailuvun "+kokonaisluku);
 
		System.out.print("Anna desimaaliluku:");
		syote = lukija.readLine();
		desimaaliluku = Double.parseDouble(syote);
		System.out.println("Annoit desimaaliluvun "+desimaaliluku);
	}
}

Tietojen kysyminen näppäimistöltä (java1.5)

Java 1.5:n mukana tuli luokka Scanner, joka hoitaa näppäimistöltä lukemisen hieman yksinkertaisemmin.

import java.util.Scanner;
 
class Kysely
{
	public static void main(String[] args)
	{
		Scanner lukija = new Scanner(System.in);
		int kokluku; 
		double desimluku;
		String merkkijono;
 
		System.out.print("Anna kokonaisluku:");
		kokluku = lukija.nextInt();
 
		System.out.print("Anna desimaaliluku:");
		desimluku = lukija.nextDouble();
 
		System.out.print("Anna merkkijono:");
		merkkijono = lukija.nextLine();
	}
}

Scanner-luokassa on kuitenkin joitain kiusallisia ominaisuuksia, jolloin pitää käyttää vanhaa tapaa syötteen lukemiseen.

Eli mikäli Scanner-oliolla et saa syötettä luettua, niin käytä vanhaa tapaa.

Keskustelu

Kirjoita kommenttisi (wiki kirjoitus sallittu):
JNQLA
java/tiedon_syotto.txt · Viimeksi muutettu: 2006/03/23 13:58 (ulkoinen muokkaus)
 
Jollei muuta ole mainittu, niin sisältö tässä wikissä on lisensoitu seuraavalla lisenssillä: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki