» »

[JAVA]Branje podatkov tipa int, double

[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 :")"
LG 77CX OLED TV; Marantz SR6010 7.2: 5x Focal Sib, 2x Focal Cub, 2x Focal
Little Bird; PS5, Xbox Series X, PS4 Pro, Xbox One, PS3, Vero 4K, Samsung
UBD K8500 4K UHD, Philips BDP2180/12

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());
LG 77CX OLED TV; Marantz SR6010 7.2: 5x Focal Sib, 2x Focal Cub, 2x Focal
Little Bird; PS5, Xbox Series X, PS4 Pro, Xbox One, PS3, Vero 4K, Samsung
UBD K8500 4K UHD, Philips BDP2180/12

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 @Override

Oddelek: Programiranje
6797 (662) kretze
»

[Java] Podatkovni tip

Oddelek: Programiranje
233831 (3483) piki12

Pomoč pri Domači nalogi

Oddelek: Programiranje
334570 (3418) Gandalfar
»

[java] Osnovna vprašanja

Oddelek: Programiranje
372636 (1643) killa bee
»

Java problemček

Oddelek: Programiranje
141455 (1248) Imortales

Več podobnih tem