Java ongelma

Jos saan parmetrinä kaksi arvoa
miten saan eriteltyä arvot omiin muuttujiin..?

esim. java 12 30

luku1 = 12
luku2 = 30

kiitos etukäteen avustuksesta..=)
5362
Äänestä

Muut lukivat myös

Vastaukset 5

Vanhimmat

eka käännät se esim.java että siitä tulee .class

sitten ajat sen -> java esim

esim.class pitää olla main-lohko

public class esim
{

public static void main( String[] args )
{

}

}

eli toi String taulukko args pitää sisällään ne
parametrit mitä annoit -> java esim 12 13 14

Se toimii ihan kuten normaali String-taulukko
eli jos lukuja mielit käsitellä niin pitää muuttaa
se String "12" eka luvuksi.

int luku1 = new Integer(args[0]);
int luku2 = new Integer(args[1]);

Äänestä
  • Olit näköjään vastannut sille samalla, kun mä kirjoitin omaani... ja kaiken huipuksi sä kerroit sille just sen minkä mä ajattelin antaa sen itte pähkäillä. No tais saada harjoitustyönsä kuin "Manu illallisen".

    t. Jonttu

    Äänestä

  • tuli pieni virhe joo elikä...
    java koekeilu 12 30....

    tietenkin ohjelman nimi myös...
    mutta vastauksestasi oli apua kiitos..=)

    Äänestä

  • Jonttu kirjoitti:

    Olit näköjään vastannut sille samalla, kun mä kirjoitin omaani... ja kaiken huipuksi sä kerroit sille just sen minkä mä ajattelin antaa sen itte pähkäillä. No tais saada harjoitustyönsä kuin "Manu illallisen".

    t. Jonttu

    Ei täällä ollakaan missään java-tentissä. Ois ihan sama
    vastata jokaiseen kysymykseen että hae Googlesta.
    Arvasin vaan että sillä ois menny tunti ihmetellessä
    että miks tää yhteenlasku kusee.

    Oishan se tietenkin suositeltavaa että sisäistäis itse
    kans ne asiat eikä vaan copy&paste. Täällä aika moni
    kyselee vastauksia kysymyksiin mitkä liittyy vaan
    logiikkaan. Miettii sitä probleemaa vaikka ensin paperilla
    niin on helpompi hahmottaa se. Sitte ku idea on kasassa
    niin ettii vaan API:sta siihen syntaksin.

    Äänestä

..sulla mitään Java-opusta, josta voisit lukea esimerkkejä?

Anyway, toi sun esimerkkis "java 12 30" menee jo ihan perseelleen, koska käsket siinä java-tulkia ajamaan (tulkkamaan) "12" nimistä ohjelmaa parametrillä "30". Se ei kuitenkaan ollut tarkoituksesi, eihän?

Jokainen Java-ohjelma käynnistetään aina komennolla:
java ohjelmanNimi parametrit
Esimerkki:
java ohjelmanNimi 12 30

Java-ohjelman teko aloitetaan aina siten, että ensin kirjoitetaan koodi esim. jollain tekstieditorilla. Sitten se käännetään "javac.exe" kääntäjällä, jolloin siitä muodostuu ajokelpoista tavukoodia. Esimerkki:
javac ohjelmanNimi.java

Mikäli käännös sujui ongelmitta niin silloin sinun pitäisi löytää projekti-hakemistostasi ohjelmanNmi.class -tiedosto, joka on ajettavissa java-tulkissa.
java ohjelmanNimi 12 30

Huomaa kuitenkin se, että tuossa java-kutsussa ei mainita tarkenninta "class" koska tulkki olettaa sen olevan class-päätteinen.

Huomaa myös, että Java eroittaa Unix:n tapaan isot ja pienet kirjaimet joten kutsu "java ohjelmannimi 12 30" generoi takuuvarmasti "class not found" -virheilmoituksen ja leikki loppuu siihen.

Mikäli aioit saada homman (lue: pakollisen harjoitustyösi) tehdyksi niin avaa esim. notepad ja kirjoita sinne tämä seuraava sonta:

class ekaOhjelma
{
puplic static void main(String args[])
{
System.out.println("eka parametri: " args[0]);
System.out.println("toka parametri: " args[1]);
}
}

Tämän jälkeen tallenna kirjoittamasi/kopioimasi teksti nimellä: "ekaOhjelma.java" (huomaa pienet/isot kirjaimet) ja käännä java-kääntäjällä: "javac ekaOhjelma.java".

Nyt olet valmis käynnistämään ohjelmasi komennolla: "java ekaOhjelma 12 30", jolloin ruutuun pitäisi ilmestyä teksti:

eka parametri 12
toka parametri 30

Tästä eteenpäin olet "omillasi" esim. noiden lukujen muuttamisessa numeromuotoon, koska nythän ne ovat String-muodossa "args[]"-argumenttinsa mukaan. Hmm, siinä sitä päänvaivaa... johon pieni lukeminen saattaa olla paikallaan..

t. Jonttu

Äänestä

Kommentoi aloitusta


aloittelia... kirjoitti:

Jos saan parmetrinä kaksi arvoa
miten saan eriteltyä arvot omiin muuttujiin..?

esim. java 12 30

luku1 = 12
luku2 = 30

kiitos etukäteen avustuksesta..=)

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu