logi sisse meist KKK

Tere

Olen siin alustanud Java õppimist, koodi kirjutan Notepadis ja kompileerin Command Promptis ning salvestan oma dokumentides olevasse kausta java/. Kui importida midagi (nt: java.io.*; java.text.NumberFormat) ja salvestada kood, siis antud kaustas java/ kõik toimib kenasti. Kuid kui salvestada mingile muule asukohale, siis annab veateate, et imporditavat klassi ei eksisteeri. Kasutades Eclipse'i on tulemus selline, et iga rida on vigane.

Kas keegi oskab mingit abi anda, et kuidas oleks võimalik probleemi lahendada? Olen üritanud Google kaudu mingit lahendust leida, kuid senini pole vastust ega vihjeid leidnud.

küsitud Sep 17 '10 at 10:24

Timo%201's gravatar image

Timo 1
1111

edited Sep 22 '10 at 11:52

Rene%20Saarsoo's gravatar image

Rene Saarsoo ♦♦
1.1k101121


Kuhu Sul JDK paigaldatud on ja mis on keskkonnamuutuja JAVA_HOME väärtus?

Mul näiteks on JAVA_HOME=c:\bin\jdk ja seal c:\bin\jdk sees on alamkataloogid bin, lib, jre ja teised, mille JDK paigalduspakett tekitas.

Ma ei ole peast päris kindel, kuidas Java oma klassiteeke otsib, kui JAVA_HOME puudub või kuhugi sohu näitab, aga on üsna tõenäoline, et siis vaadatakse mingi süsteemi järgi ringi jooksva kataloogi ümbruses ja tulemused hakkavadki sõltuma sellest, mis kataloog parajasti jooksev on.

link

vastatud Sep 17 '10 at 11:32

Ahto%20Truu's gravatar image

Ahto Truu ♦♦
6596711

Otsisin, kuid JAVA_HOME'i küll ei leia. Muidu JDK on installitud C:/Program Files/Java/jdk1.6.0_21, sellele samale kohale sai tekitatud ka "Environmental Variable", et Command Prompt suudaks kompileerida javat. Proovisin ka reinstalli, kuid ei olnud ka sellest kasu, ikka suudab kompileerida ainult ühes kindlas folderis.

link

vastatud Sep 17 '10 at 17:27

Timo%202's gravatar image

Timo 2
1

Kuidas sa selle "Enviromental Variable" täpselt panid? Kui õigesti mäletan, siis oli vaja panna classpath paika, kas sa tegid nii? Pole Windowsi käepärast, et vaadata kuidas asi täpselt käib.

Ma teeks nii:

Vaataks kas "System variable'i" all on JAVA_HOME, kui ei siis tuleb see luua.

C:\Program Files\Java\jdk1.6.0

Siis võtaks sealt "Path" ja kirjutaks sinna midagi sellist:

C:\Program Files\Java\jdk1.6.0\bin;

Mis

javac -version 

ja

java -version

seal kaustas näitavad, kus kompileerimine ei toimu?

link

vastatud Sep 17 '10 at 20:14

Timo's gravatar image

Timo
21226

edited Sep 17 '10 at 20:37

Tänud, sain korda. Ainult dokumentides asuvas kaustas "java" andis käsk "java -version" tulemuseks "java version 1.6.0_21", tegin uuesti "Environmental variable" ja nüüd saab Command Prompti abil ka teistes kaustades kompileerida javat. Kuid äkki oskab keegi Eclipse suhtes abistada. Tegin lihtsa näidise:

import java.io.*;
public class InputNumber {
    public static void main(String[] args){
        int number=TextIO.getlnInt();
    }
}

Kui Eclipses võtan "Run As" > "Java Application", siis annab veateate:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    TextIO cannot be resolved

    at InputNumber.main(InputNumber.java:6)

Äkki oskab keegi mõne vihje anda, kuidas ma saaksin veel Eclipse ja TextIO omavahel suhtlema panna?

link

vastatud Sep 20 '10 at 18:05

Timo%202's gravatar image

Timo 2
1

TextIO klass pole Java põhivarustuses. Kui tahad seda kasutada, pead selle eraldi ära tõmbama ja oma projekti failide hulka panema.

Pärast Eclipse'i väliste vahenditega failide projektikataloogi lisamist tuleb Eclipse'i sees anda projekti kontekstimenüüst käsk Refresh.

link

vastatud Sep 21 '10 at 07:20

Ahto%20Truu's gravatar image

Ahto Truu ♦♦
6596711

Java versioonist 1.5 on Javas olemas Scanner klass, mis on kordi parem, kui TextIO. Kui aga soovid kasutada TextIO'd, mis ei tule Java teekidega kaasa, võid selle tirida näiteks siit või siit.

Alternatiivselt võiksid kasutada Scanner klassi, näiteks:

import java.util.Scanner;

public class textinputexample {
    private static Scanner sc = new Scanner(System.in);

    public static void main(String[] args) {
        int number = sc.nextInt();      
    }
}

Aga parem oleks, kui sa kontrolliksid, kas sisend on ikka täisarv, enne kui väärtustama hakkad:

public static void main(String[] args) {
    int number = 0;

    if (sc.hasNextInt())
        number = sc.nextInt();
}

Täpsemat selgitust, kuidas Javas sisend ja väljund toimima peaks, ning miks osad arvavad, et TextIO kasutamine on õigustatud võid leida siit.

link

vastatud Sep 28 '10 at 15:12

Margus's gravatar image

Margus
51116

Sinu vastus
lülita eelvaade

Jälgi seda küsimust

By Email:

Pärast sisselogimist saad tellida muudatuse teavitusi siit

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *kaldkiri* või __kaldkiri__
  • **paks kiri** või __paks kiri__
  • link:[tekst](http://url.com/ "pealkiri")
  • pilt?![alt tekst](/path/img.jpg "pealkiri")
  • nummerdatud nimekiri: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • põhilised HTML märgendid on samuti toetatud

Pinu tööpakkumised

kõik pakkumised »

Küsimuse sildid:

×16

küsitud: Sep 17 '10 at 10:24

nähtud: 4,539 korda

viimati uuendatud: Nov 23 '10 at 18:22

Litsents: Creative Commons Attribution License | Kontakt: info@pinu.ee