Eli miten javassa kysytään käyttäjältä tietoa niinkuin basicissa inputbox ja C/C :ssa cin..?
Miten kysytään käyttäjältä tietoa
miten kysdytää
10808
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 10
Vanhimmat
--- ESIMERKKI ALKAA ---
import java.util.Scanner;
public class Esimerkki2 {
public static void main(String[] arg) {
Scanner sisään = new Scanner(System.in);
System.out.print("Anna nimesi: ");
String nimi = sisään.nextLine();
System.out.print("Anna ikäsi: ");
int ikä = sisään.nextInt();
System.out.println("Hei " nimi "! Olet " ikä " vuotias.");
}
}
--- ESIMERKKI LOPPUU ---
Löysin bufferedreader homman mikä on melkein samantapainen mutta siinä on try ja catch error pakko. Kumpi on sitten se oikea tapa?
Helppokäyttöinen Scanner luokka tuli mukaan vasta Java 1.5:een (ja tämän takia useista esimerkeistä ja oppikirjoista ei löydy siitä mitään). Jos teet ohjelmia, joiden pitäisi toimia pienemmillä Java versioilla niin, silloin joudut käyttämään(/tyytymään) BufferedReader, Interger.parseInt(), yms. erillisratkaisuihin.
Valinta on siis vapaa. En kuitenkaan näe syytä miksi kielten uusia ominaisuuksia (jotka on tarkoitettu helpottamaan ohjelmointia) ei kannattaisi alkaa heti käyttämään ja opettelemaan, jos ei ole tarve pysyä vanhoissa versioissa.
Miten tolla skannerilla saa luettua double muuttujaan? jos laitan double nimi = sisään.nextdouble niin ei toimi
Olethan myös huomioinut sen, että ollaan suomessa, eli ei 10.1 vaan 10,1 ;)
Niin tietenkin, yllä tässä javassa saa olla tarkkana noitten kanssa. Nyt kun viel muistais ulkoa ton skannauksen hommat :)
Suosittelisin ehdottomasti jonkin viisaan sovelluskehitysvälineen käyttöä, jolloin kirjoitusvirheet huomataan heti.
Suosittelen Ecplipseä: http://www.eclipse.org/downloads/
Ecplise on ilmainen tuote (Open source).
eli seuraavalla koodilla saan tehtyä 4 luvun keskiarvo:
import java.util.Scanner;
public class keskiarvo2 {
public static void main (String[] args) {
Scanner lue = new Scanner(System.in);
System.out.print("Anna luku1: ");
double num1 = lue.nextDouble();
System.out.print("Anna luku2: ");
double num2 = lue.nextDouble();
System.out.print("Anna luku3: ");
double num3 = lue.nextDouble();
System.out.print("Anna luku4: ");
double num4 = lue.nextDouble();
System.out.println((num1 num2 num3 num4)/4);
}
}
----loppu
onko järkevää noin vai mitä etuja se silmukka antaisi tähän? onko tämä huonoa tapaa mitä nyt tein
Silmukalla homman voisi tehdä seuraavasti:
--- ALKAA ---
import java.util.Scanner;
public class Keskiarvo2 {
public static final int ARVOJA = 4;
public static void main (String[] args) {
Scanner lue = new Scanner(System.in);
double summa = 0;
for (int i = 1; i
Meni sanat sekaisin, eli järkevämpi sanan tilalle piti tulla huonompi, tms. sana.