Natrag   Forum.hr > Informatička tehnologija > Za napredne korisnike > Programiranje

Programiranje Za programere i one koji to žele postati ...

Odgovor
 
Tematski alati Opcije prikaza
Old 25.10.2012., 11:28   #1
Pomoc oko java problema?

Pozdrav,

Pocetnik sam u Javi, radim trenutno neke osnovne vjezbe i aplikacije, ucim i trenutno sam zapeo pa ako mi neko moze objasniti gdje je problem i kako da rijesim ovo ?

Quote:
import java.util.Scanner;
public class NicePrice {

public static void main(String[] args) {
Scanner myScanner=new Scanner(System.in);
int age;
double price=0.00;
char reply;
boolean isKid, isSenior, hasCoupon, hasNoCoupon;

System.out.println("How old are you?");
age=myScanner.nextInt();

System.out.println("Do you have a coupon");
reply=myScanner.findInLine(".").charAt(0);

isKid=age<12;
isSenior=age>12;
hasCoupon=reply=='y';
hasNoCoupon=reply=='n';

if (!isKid && !isSenior) {
price = 9.25;
}
if (isKid || isSenior) {
price = 5.25;
}
if (hasCoupon) {
price -= 2.00;
}
if (!hasCoupon && !hasNoCoupon) {
System.out.println("Huh?");
}
System.out.print("Please pay $");
System.out.print(price);
System.out.print(". ");
System.out.println("Enjoy the show!");
}
}
A ovo dobijem kao Output:

Quote:
How old are you?
3
Do you have a coupon
Exception in thread "main" java.lang.NullPointerException
at NicePrice.main(NicePrice.java:23)

Process completed.
monster12 is offline  
Odgovori s citatom
Old 25.10.2012., 11:52   #2
Quote:
System.out.println("Do you have a coupon");
reply=myScanner.findInLine(".").charAt(0);
varijabla reply nije inicijalizirana
fps_games is offline  
Odgovori s citatom
Old 25.10.2012., 18:22   #3
Quote:
fps_games kaže: Pogledaj post
varijabla reply nije inicijalizirana
Jel moze mala pomoc, zar to nisam uradio gore na pocetku ?
Zadatak je identicno uradjen i u knjizi i tamo je output uredu :/
monster12 is offline  
Odgovori s citatom
Old 25.10.2012., 18:51   #4
Quote:
fps_games kaže: Pogledaj post
varijabla reply nije inicijalizirana
varijabla je inicijalizirana...i sam si quotao inicijalizaciju

@monster12

daj si pogledaj ovaj link http://www.daniweb.com/software-deve...inline.charat0

scrollaj do zadnjeg odgovora pa pogledaj da li ti imaš takvu grešku, makar sumnjam da je do toga...

Quote:
How old are you?
3
Do you have a coupon
Exception in thread "main" java.lang.NullPointerException
at NicePrice.main(NicePrice.java:23)

Process completed.
reko si da ti je to javio program...pogledaj si kaj ti veli za exception...provjeri si dal ti je reply različiti od null...ako je onda izvršavaj ono kaj trebaš, a ako je jednak null to znači da datoteka system.in koju si stavio za parametar instance nije ispunjena kako bi trebala biti
UltraHardcore is offline  
Odgovori s citatom
Old 25.10.2012., 21:12   #5
A jeste svi znalci ...

Greška ti je u liniji
Kod:
reply=myScanner.findInLine(".").charAt(0);
myScanner.findInLine(".") vraća null za broj 3 koji si unio. Liniju prije toga samo si ispisao "Do you have a coupon", ali ništa nisi učitao, pa myScanner još uvijek koristi originalni "3" input. Effektivno, izvršavaš kod reply=null.charAt(0)
No-Name is offline  
Odgovori s citatom
Old 25.10.2012., 23:09   #6
Quote:
UltraHardcore kaže: Pogledaj post
varijabla je inicijalizirana...i sam si quotao inicijalizaciju
istina da

mislio sam da se findInLine odnosi na varijablu, a ne da se upisuje u nju. uglavnom, zanemarite.
fps_games is offline  
Odgovori s citatom
Odgovor


Tematski alati
Opcije prikaza

Kreni na podforum




Sva vremena su GMT +2. Trenutno vrijeme je: 03:42.