Kezdőoldal » Számítástechnika » Programozás » Java tizedesszám probléma?

Java tizedesszám probléma?

Figyelt kérdés

A program kiszámolja az egész számokkal a műveleteket,de ha egy tizedesszámot adok meg akkor ezt az üzenetet adja ki:


Exception in thread "main" java.util.InputMismatchException

at java.util.Scanner.throwFor(Unknown Source)

at java.util.Scanner.next(Unknown Source)

at java.util.Scanner.nextInt(Unknown Source)

at java.util.Scanner.nextInt(Unknown Source)

at Atlag.main(Atlag.java:7)


Az Eclipse nevű programmal csináltam.



2014. ápr. 25. 11:10
 1/7 Tengor ***** válasza:
Ha egész számot vár és te tizedes törtet v. szöveget adsz neki, akkor bizony el fog szállni. Érdemes lenne látni a kódot is. Codepad-ból linkeld ide!
2014. ápr. 25. 11:19
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:

Itt van a kód:


import java.util.*;

public class Atlag {


public static void main(String[] args) {

Scanner atlag = new Scanner(System.in);

System.out.println("Add meg a jegyeid összegét");

double osszeg = atlag.nextInt();

System.out.println("Add meg a jegyeid számát!");

double jszam = atlag.nextInt();

double atlag01 =osszeg/jszam;

System.out.println("At átlagod: "+atlag01);


atlag.close();

}


}

2014. ápr. 25. 11:34
 3/7 anonim ***** válasza:

double osszeg = atlag.nextInt();


Ez szerinted mit csinál?

2014. ápr. 25. 11:41
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:
Igazából nem tudom,de ha "int"-et írok,akkor nem maradékosan oszt,"double"-lal pedig maradékosan oszt.Nem igazán ismerem ezt a rendszert és próbálta megoldást találni.
2014. ápr. 25. 11:56
 5/7 anonim ***** válasza:

Mi az a "maradékosan oszt"?

int = egész szám, itt van egész osztás, illetve maradékképzés

double = dupla pontosságú (?) lebegő pontos szám ~ valós szám, itt van a "hagyományos" osztás


A kollega a nextInt()-re próbálta felhívni a figyelmedet:

ez egy egész számot (int-et) vár!

2014. ápr. 25. 12:10
Hasznos számodra ez a válasz?
 6/7 anonim ***** válasza:
100%

Ha rendesen szeretnél programozni, akkor nem engedheted ezt meg magadnak. Nincsen "igazából nemtudom", tudni kell.


Ez a sor levesz egy intet a bemenetből, majd azt kasztolja double-é. Ha doublet akarsz levenni, akkor atlag.nextDouble();


Amit te mondasz, az nem ez a sor. (int)/(int) -> maradékos osztás(int). (double)/(double) = (double), "rendes" osztás.

2014. ápr. 25. 12:10
Hasznos számodra ez a válasz?
 7/7 A kérdező kommentje:
Köszönöm szépen a segítséget,már működik a javításokkal ! :)
2014. ápr. 25. 12:22

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!