Olen siis aloittanut opettelemaan java-kielen käyttöä, mutta nyt tuli este vastaan. Luultavasti teen jotakin väärin, kun en saa Lue-toimintoa toimimaan.
Tein tällaista pientä harjoitusta:
public class Viisas {
public static void main(String[] args) {
String syottoRivi;
int kokonaisLuku;
double liukuLuku;
System.out.println("Mika on nimesi?");
syottoRivi = Lue.rivi();
System.out.println("Mita kokonaislukua ajattelet?");
kokonaisLuku = Lue.kluku();
System.out.println("Mita reaalilukua ajattelet?");
liukuLuku = Lue.dluku();
System.out.print ("Tiedan, etta nimesi on " syottoRivi);
System.out.println(" ja etta ajattelit lukuja "
kokonaisLuku " ja " liukuLuku ".");
System.out.println("Enko olekin viisas!");
}
}
Mutta yrittäessäni muuttaa sen class-muotoon lopputuloksena on tämä: http://i44.tinypic.com/35d25ip.jpg
Apua arvostettaisiin
Lue.rivi yms ei toimi
huahnick
71129
0Äänestä
Muut lukivat myös
Odottaa vastausta
Näihin keskusteluihin ei ole vielä vastattu. Ole ensimmäinen.
Vastaukset 7
Vanhimmat
Ohjelmasi ei löydä Lue-luokkaa, joten kopioi se samaan hakemistoon kun tuo sinun Viisas-luokkasikin on. Java 5.0:sta eteenpäin on mukana ollut scanner-luokka, jota kannattaa mieluummin käyttää. Esimerkkejä löytynee täältä:http://www.cs.helsinki.fi/u/wikla/Ohjelmointi/Sisalto/2/KiLu.html
Mistä kopioin sen? Olen ladannut Java 6:n
itsehän sinun se pitää tietenkin tehdä luuletko tosiaan että javan kirjoittajat ovat kirjoittaneet jonkun lueRivi-luokan?
Pistä vaikka public class Viisassin yläpuolelle import java.util.*; Ja sit vaikka mainin alapuolelle et Scanner Lue = new Scanner(System.in);
Ja kun luetaan merkkijonoa niin se on Lue.nextLine();, desimaali on nextDouble ja nro on nextInt
Kiitos, sain homman toimimaan ainakin tuolta osin, mutta kun pistän nyt ohjelman pyörimään, niin homma jäätyy siinä vaiheessa, kun tulee kysymys "Mitä reaalilukua ajattelet?" Vastasipa mitä tahansa niin virheitä alkaa satelemaan: Exception in thread "main" java.util.InputMismatchException at java.util.Scanner.throwFor(Scanner.java:840) at java.util.Scanner.next(Scanner.java:1461) at java.util.Scanner.nextDouble(Scanner.java:2387) at Viisas.main(Viisas.java:18)
Käytin pistettä kun ohjelma kysyi reaalilukua pilkun sijaan :) Kiitos avusta