» »

[JAVA]Branje podatkov tipa int, double

SkIDiver ::

Ok

Učim se za izpit po knigi od Joyce Farrell. Kniga seka. Samo nekaj mi pa ne gre v glavo. V 5. poglavju se obravnava metoda System.in.read(); Ok fina zadeva za branje podatkov tipa Char. Kaj pa int in double? Če hočm prebrat int in vnesem 1 mi lepo veselo vrne 49 kar je seveda enako 1 po ASCII tabeli ?? razen, če nism jz to zdejle mal zabrkov.

Skratka kako preberem s to medoto podatke tipa int, double pa dodajmo zraven še String?
Z type castingom; podatek=(int)System.in.read(); ne gre kot je to pri charih; podatek=(char)System.in.read();

Sem gledu po knjigi naprej pa nekako nisem prlistal do poglavja kjer bi blo omenjeno zajemanje podatkov z in.read metodo. Ravno tako po kazalu nič uporabnega.

2g00d4u ::

načeloma dobiš integer iz stringa po takšnem postopku

Integer.parseInt(String s);

v tvojem primeru

Integer.parseInt(System.in.read());

SkIDiver ::

hourlyPayRate=Integer.parseInt(System.in.read());

Tkole bo prov? K mi javi napako.

Payroll.java:12: ';' expected
hourlyPayRate=Integer.parseInt(System.in.read());
^

OwcA ::

Pred tem imaš nekje napako. Je hourlyPayRate sploh deklariran?
Otroška radovednost - gonilo napredka.

SkIDiver ::

Jap je

BTW kako pišeš kodo na S-T brez, da ti sporoča, da si pozabu zaklučt HTML dokument? Sem moral pr if stavku spremenit pa sem pogoj napisal med " ".

public class Payroll{
	
	public static void main(String[] args) throws Exception{
		
		double hourlyPayRate;
		double hoursWorked;
		double grossPay;
		double precentage1=0.10;
		double precentage2=0.12;
		
		System.out.print("Enter the hourly pay rate :")
		hourlyPayRate=Double.parseDouble(System.in.read());
		System.in.read();System.in.read();
		System.out.print("Enter the hours worked :")
		hoursWorked=Double.parseDouble(System.in.read());
		System.in.read();System.in.read();
		
		grossPay=hourlyPayRate*hoursWorked;
		
		if(grossPay"večji ali enak"300){
			double tax=grossPay*precentage1;
			double netPay=grossPay-tax;
			System.out.println("Gross pay is $"+grossPay+" tax is $"+tax+" net pay is $"+netPay);
		}
		else{
			double tax=grossPay*precentage2;
			double netPay=grossPay-tax;
			System.out.println("Gross pay is $"+grossPay+" tax is $"+tax+" net pay is $"+netPay);
		}
	}
}

Zgodovina sprememb…

  • spremenil: SkIDiver ()

BigFoot ::

za "System.out.print("Enter the hourly pay rate :")" ti manjka podpičje.

EDIT: pravtako ti manjka tudi za "System.out.print("Enter the hours worked :")"
PC: Intel i5 3550p, ASRock H77M, GeForce 9600GT, 8GB RAM, 8TB HDD,
120 + 250GB SSD, Samsung 2253BW, Logitech Z-5500, Philips DVDRW 1628
HT: Sony Bravia 46" V3000, PS4, PS3, Focal Sib&Cub3, Denon AVR-X1000

Zgodovina sprememb…

  • spremenil: BigFoot ()

OwcA ::

Vrstico prej ti manjka podpičje. ;)

Kodo zbaši v [ st.koda java][ /st.koda] (brez presledka med [ in s).
Otroška radovednost - gonilo napredka.

SkIDiver ::

;(( kako sem to spregledu. Sem popravu ampak:)

Payroll.java:12: parseDouble(java.lang.String) in java.lang.Double cannot be applied to (int)
hourlyPayRate=Double.parseDouble(System.in.read());

Moti ga pa od tule naprej, tu pokaže puščico:

.parseDouble(System.in.read());

Nč jasno.

Kje se dobi na strani od sun-a dokumentacijo za java 5.0 oz 1.5.0? Iščem pa ne najdem;(

Zgodovina sprememb…

  • spremenil: SkIDiver ()

BigFoot ::

Probaj int castat v double. Se pravi nekako takole:
hourlyPayRate=Double.parseDouble((double)System.in.read());
PC: Intel i5 3550p, ASRock H77M, GeForce 9600GT, 8GB RAM, 8TB HDD,
120 + 250GB SSD, Samsung 2253BW, Logitech Z-5500, Philips DVDRW 1628
HT: Sony Bravia 46" V3000, PS4, PS3, Focal Sib&Cub3, Denon AVR-X1000

SkIDiver ::

PayrollTesting.java:15: parseDouble(java.lang.String) in java.lang.Double cannot be applied to (double)
hoursWorked=Double.parseDouble((double)System.in.read());


Spet ga moti od tule naprej:
.parseDouble((double)System.in.read());

Za enkrat bom tole opustil. Ko ugotovim kako zadeva dela bom pa javil. Hvala vsem!

Zgodovina sprememb…

  • spremenil: SkIDiver ()

kopernik ::

      BufferedReader reader = 
          new BufferedReader(
                  new InputStreamReader(System.in));
      String input = reader.readLine().trim();
      double hourlyPayRate = Double.parseDouble(input);

SkIDiver ::

Hvala;)

BaRtMaN ::

Bi blo pa tole kodo pametno dat v try{//koda} blok, če pride do napake pri vnosu in namesto številke vneseš kakšen drug znak. Pol pa seveda še catch(Exception e){//error msg}


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

[java] uporaba baze .mdb z javo

Oddelek: Programiranje
51004 (919) gtu
»

[Java] Kako filtrirati, katera števila lahko vpišeš?

Oddelek: Programiranje
18996 (698) fiction
»

[NALOGA][Java] Sinus

Oddelek: Programiranje
8632 (564) Lukeatluke
»

Java Error !!!

Oddelek: Programiranje
5554 (511) Tr0n
»

read integer v javi

Oddelek: Programiranje
9613 (514) kopernik

Več podobnih tem