Käyttäjän työkalut

Sivuston työkalut


java:tiedon_syotto

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.

java/tiedon_syotto.txt · Viimeksi muutettu: 2015/08/13 16:36 / 127.0.0.1