Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
Psych0
HV veteran
liitunud: 21.11.2004
|
06.03.2012 23:26:55
Java probleem |
|
|
Tere,
Olen Javas suhteliselt algaja ning seega küsiksin abi. Mul on järgmised kolm klassi ning seda Eclipses käivitades ei juhtu lihtsalt mitte midagi. Milles asi?
Põhiklass piletiteOst
import java.util.Scanner;
public class piletiteOst
{
public static void main(String[] args) throws Exception
{
saadavuseKontroll kontroll = new saadavuseKontroll();
kontroll.piletiteArv();
int piletiSaadavus = kontroll.getSaadavus();
if (piletiSaadavus == 0)
{
System.out.println("Hetkel on kinos Kariibi mere piraadid, kuid piletid on kahjuks otsas.");
}
else
System.out.println("Hetkel on kinos Kariibi mere piraadid ning pileteid on alles" + piletiSaadavus);
System.out.println("Kas soovid piletit osta? (Kinnitamiseks vajuta Enter.");
pauseProg();
System.out.println("Sisesta piletite arv: ");
Scanner scan = new Scanner(System.in);
double piletiSoov = scan.nextDouble();
if (piletiSoov < 0)
{
System.out.println("Vigane kohtade arv.");
}
if (piletiSoov == 0)
{
System.out.println("Nägemiseni!");
}
if (piletiSoov > piletiSaadavus)
{
System.out.println("Kahjuks pole nii palju pileteid. Proovi uuesti!");
}
else
System.out.println("Kinnitamiseks vajuta Enter või loobumiseks tühikut.");
pauseProg();
System.out.println("Täname Teid ostu eest. Häid filmielamusi! ");
}
public static void pauseProg()
{
Scanner keyboard = new Scanner(System.in);
keyboard.nextLine();
}
}
|
klass saadavuseKontroll
import java.util.Scanner;
import java.io.File;
public class saadavuseKontroll
{
private int piletiSaadavus;
int getSaadavus()
{
return piletiSaadavus;
}
void setSaadavus(int piletiSaadavus)
{
this.piletiSaadavus = piletiSaadavus;
}
public void piletiteArv() throws Exception
{
File piletid = new File("c:/piletid.txt");
Scanner psc = new Scanner(piletid);
for (int i = 0; psc.hasNextLine(); i++)
{
setSaadavus(i + 1);
}
}
}
|
klass idPilet
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.File;
public class idPilet
{
int id;
int koht;
int rida;
public void piletiTrükk(int piletiKoht, int piletiRida) throws Exception
{
id = (int)Math.round(Math.random()*100000.0);
koht = piletiKoht;
rida = piletiRida;
File idPilet = new File("c:/piletid.txt");
FileWriter fw = new FileWriter(idPilet, true);
PrintWriter out = new PrintWriter(fw);
out.print(String.format("%05d", id) + ";");
out.print(koht + ";");
out.println(rida);
out.close();
fw.close();
System.out.println("Teie pileti ID on: " + String.format("%05d", id));
}
}
|
Tänud ette!
|
|
Kommentaarid: 61 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
57 |
|
tagasi üles |
|
|
2ndalpha
HV kasutaja
liitunud: 03.11.2004
|
07.03.2012 00:03:33
|
|
|
Eclipses on tegemist ikka Java projektiga? Vajutad rohelist "play" nuppu?
Kui Sa pole kindel, siis saada ekraanipilt Eclipsest.
|
|
Kommentaarid: 23 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
|
Psych0
HV veteran
liitunud: 21.11.2004
|
07.03.2012 00:10:42
|
|
|
2ndalpha kirjutas: |
Eclipses on tegemist ikka Java projektiga? Vajutad rohelist "play" nuppu?
Kui Sa pole kindel, siis saada ekraanipilt Eclipsest. |
Jah, java projekt ja roheline play nupp.
|
|
Kommentaarid: 61 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
57 |
|
tagasi üles |
|
|
2ndalpha
HV kasutaja
liitunud: 03.11.2004
|
07.03.2012 00:23:02
|
|
|
Konsool ei näita midagi?
Window->Show View->Console
JDK on olemas ja build libraryte all? Java builder on lubatud?
|
|
Kommentaarid: 23 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
22 |
|
tagasi üles |
|
|
Psych0
HV veteran
liitunud: 21.11.2004
|
07.03.2012 07:59:11
|
|
|
2ndalpha kirjutas: |
Konsool ei näita midagi?
Window->Show View->Console
JDK on olemas ja build libraryte all? Java builder on lubatud? |
JDK on olemas, kuid kuidas ma saan ülejäänud kahte kontrollida?
Olen varem ka selliseid lihtsamaid asju teinud Eclipsega, siis on töötanud.
|
|
Kommentaarid: 61 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
57 |
|
tagasi üles |
|
|
Fukiku
Kreisi kasutaja
liitunud: 06.11.2003
|
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
|
Psych0
HV veteran
liitunud: 21.11.2004
|
07.03.2012 09:19:16
|
|
|
Fukiku kirjutas: |
Siiski - alustaks sellest, et kas Console aknas ei jookse mingeid vigu või asju? |
Ei jookse, kuid on näha, et midagi ta mõtleb (programm jääb nö tööle).
|
|
Kommentaarid: 61 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
57 |
|
tagasi üles |
|
|
Fukiku
Kreisi kasutaja
liitunud: 06.11.2003
|
07.03.2012 09:46:33
|
|
|
Siis tundukse, et su programm ikkagi töötab, aga ei tee, seda, mida sa ootad. Kui tal oleks muresid Java koodi jooksutamisega, siis see peaks mingites veateadetes väljenduma. Kahjuks mul pole hetkel JDK-ga arvutit ligi, et ise su koodi katsetada. Soovitan hakata kasvõi iga rea vahele toppima sysout lauseid, et näha, kaugele programm jõuab ja mida ta teeb. Alustuseks nt pane main meetodi esimesele reale mingi väljatrükk, et näha, kas see üldse käivitub.
PS. Vii ennast kurssi Java nimetamisreeglitega.
PPS. Kuigi Java lubab täpikuid igal pool nimedes, siis mina enda meelerahu huvides igaks juhuks neid pigem ei kasutaks - varem või hiljem võib sellest ikka mingi ikaldus sündida.
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
|
Mefistofeles
HV kasutaja
liitunud: 06.11.2003
|
07.03.2012 10:24:40
|
|
|
Mis sul piletid.txt sisu muidu on?
Mulle tundub, et ta jääb sul
public void piletiteArv() throws Exception
{
File piletid = new File("c:/piletid.txt");
Scanner psc = new Scanner(piletid);
for (int i = 0; psc.hasNextLine(); i++)
{
setSaadavus(i + 1);
}
}
|
sisse loopima.
edit/
Kui sul piletid.txt'is lihtsalt ridade arvu järgi otsustakse palju pileteid järgi, siis töötab nii:
public void piletiteArv() throws Exception
{
Scanner s = null;
try {
s = new Scanner(new BufferedReader(new FileReader("C:/piletid.txt")));
for (int i=1; s.hasNext(); i++) {
s.next();
setSaadavus(i);
}
} finally {
if (s != null) {
s.close();
}
}
}
|
|
|
Kommentaarid: 17 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
17 |
|
tagasi üles |
|
|
Psych0
HV veteran
liitunud: 21.11.2004
|
14.04.2012 17:37:38
|
|
|
protected String[][] kohad = new String[40][3];
protected String filmiNimi;
protected int vabadKohad;
public int piletid(String filmiNimi) throws Exception {
Scanner s = new Scanner(new BufferedReader(new FileReader("c:/Filmid/" + filmiNimi + ".txt")));
int i = 0;
while (s.hasNext()) {
String line = s.nextLine();
String[] koht = line.split(";");
kohad[i] = koht;
i++;
if (koht[2] == "vaba") {
System.out.println(koht[2]);
vabadKohad++;
}
}
return vabadKohad; |
Ei tööta vabadKohad++, kuna tema jaoks ei ole koht[2] == "vaba".
Tekstifailis on kohad nii:
1;1;vaba
2;1;vaba
3;1;vaba
4;1;vaba
Kui while'i sisemus muuta selliseks:
while (s.hasNext()) {
String line = s.nextLine();
String[] koht = line.split(";");
kohad[i] = koht;
i++;
System.out.println(koht[2]);
} |
Siis väljastab ilusti:
vaba
vaba
vaba
vaba
Keegi oskab öelda, kuidas seda viga parandada?
|
|
Kommentaarid: 61 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
57 |
|
tagasi üles |
|
|
HellWalKeR
HV kasutaja
liitunud: 20.11.2006
|
14.04.2012 17:55:23
|
|
|
Kas if (koht[2] == "vaba") ei peaks olema mitte if (koht[2].equals("vaba"))?
|
|
Kommentaarid: 5 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
3 |
|
tagasi üles |
|
|
Psych0
HV veteran
liitunud: 21.11.2004
|
14.04.2012 17:59:38
|
|
|
HellWalKeR kirjutas: |
Kas if (koht[2] == "vaba") ei peaks olema mitte if (koht[2].equals("vaba"))? |
Peab tõesti, aitäh!
|
|
Kommentaarid: 61 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
57 |
|
tagasi üles |
|
|
PitBull
HV kasutaja
liitunud: 31.10.2003
|
15.04.2012 00:16:48
|
|
|
Psych0 kirjutas: |
HellWalKeR kirjutas: |
Kas if (koht[2] == "vaba") ei peaks olema mitte if (koht[2].equals("vaba"))? |
Peab tõesti, aitäh! |
Veel parem "vaba".equals(koht[2]), jääb ehk mõnigi NPE saamata.
|
|
Kommentaarid: 16 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
16 |
|
tagasi üles |
|
|
Vermon
Kreisi kasutaja
liitunud: 04.12.2003
|
16.04.2012 15:30:28
|
|
|
Saamata jäänud NPE ei ole alati hea, mida varem bugine kood feilib seda parem
Muidugi oleneb alati konkreetsest juhust.
|
|
Kommentaarid: 14 loe/lisa |
Kasutajad arvavad: |
|
:: |
1 :: |
0 :: |
12 |
|
tagasi üles |
|
|
Psych0
HV veteran
liitunud: 21.11.2004
|
13.05.2012 23:43:19
|
|
|
Kas keegi oskab aidata töötava .jar faili tegemisega? Ei saa hakkama kuidagi.
http://www.upload.ee/files/2342362/Cinamon.rar.html - nimi on naljaga pandud.
Ühesõnaga eclipses eksportides Java - Runnable JAR file ei juhtu faili käivitades midagi.
Lihtsalt JAR file'na eksportides tuleb veateade "Failed to load Main-Class manifest attribute from C:\blabla..".
Olen proovinud seda manifesti muuta, kuid ei ole tööle saanud. Jah, jätsin tühja rea lõppu.
Edit: Ja leidsin ka paranduse - java6 tuli uninstallida.
|
|
Kommentaarid: 61 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
57 |
|
tagasi üles |
|
|
Fukiku
Kreisi kasutaja
liitunud: 06.11.2003
|
14.05.2012 08:32:14
|
|
|
Ehk siis lahendasid probleemi kirvega.
Proovisin hommukul ka oma arvutis käivitada - sain ilusti tala "unsupported major.minor version 51.0". Sisuliselt tähendab see seda, et su klassid olid kompileeritud uuema Java versiooni jaoks, kui see Java, mis sul käsurealt vaikimisi käivitub. Kui Java 6 uninstall asja sinu jaoks lahendas, siis ilmselt on sul Eclipse sättungites pandud vaikimisi (või projektipõhiselt) Java 7 target release'ks. Selle kannatab ilmselt suurema vaevata ka kuhugi Java 5 kanti sättida, mis igas normaalses masinas olemas peaks olema ja ei tohiks väga probleeme tulla, et mingeid asju kasutada ei saa vms.
_________________ Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist. |
|
Kommentaarid: 2 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
2 |
|
tagasi üles |
|
|
|