» »

[java] dva stevca, for zanka

[java] dva stevca, for zanka

Loaded ::

Lp

Ali v javi ne gre, da bi tekla istočasno dva števca...v c++ sem to lahko naredil...tukaj mi javi napako:

for (int i = j = 0; i < 10, j <= 9; i++, j++);
                          ^
                     ';' expected


Hvala
Loadeed

Roadkill ::

Kolikor jaz vem - ne.
Se pa da enostavno to rešit na druge načine.
Ü

sverde21 ::

Jah C veliko stvari požre... ti pomoje hočeš narediti tole:
for(int i = 0, j = 0; i < 10 && j <= 9; i++, j++);
Stavke pri pogoje moraš združevati z logičnimi operatorji, drugače ne gre...
<?php echo `w`; ?>

Zgodovina sprememb…

  • spremenil: sverde21 ()

Loaded ::

Hvala
Loadeed

Loaded ::

Kako bi preveril, da string vsebuje samo cifre?
kMoja varianta je bila tale..


for ( i = j = 0; i < string.length() && j <= 9; i++, j++) {
  if (string.charAt(i) == j)
    stvar spila;
}



...ampak stvar ne spila. Čeprav dam v string samo stevilke, mi reče, da niso samo številke.
Rešitev je sicer bolj noobovska, ampak učimo se...........upam.-

Lp
Loadeed

Zgodovina sprememb…

  • spremenil: Loaded ()

nevone ::

A si ti sploh predstavljaš kaj tvoja koda počne? Kako se tista dva števca v tisti (noobovski) sintaksi obnašata?

Ker če se učiš, bi bilo dobro če bi tisto razumel. Ali pa te samo zanima rešitev?

o+ nevone
Either we will eat the Space or Space will eat us.

miha22 ::

recimo lahko bi imel tako kodo za tvoj problem:

for ( i = 0; i < string.length(); i++) {
if (!string.charAt(i).isDigit())
// string vsebuje characterje, ki niso cifre
}

drejc ::

Sam za info...a primitive typov ni vec v javi? So vse avtomatsko že objekti?
"Rise above oneself and grasp the world"
- Archimedes of Syracuse

Quikee ::

Maš primitivne tipe tudi. Edino kaj so v Java 5 uvedli je "auto boxing", ki primitivne tipe avtomatsko spremeni v svoj pripadajoč "wrapper" objekt, ko je potrebno (recimo ko shranjuješ v ArrayList).

kocba ::

Jaz sem upozail, da je tudi java 6 ze zunaj.
Katero mi priporocate? Je 6 ze stabilna?

lp

sverde21 ::

Tole je še en način da preveriš, če je v stringu int (napisano z glave, tako da ni čist 100% da se skompajla :)
String string = "1234567890";

try {
    Integer.valueOf(string).intValue();
    System.out.println("String se da pretvoriti v int");
} catch(Exception e) {
    System.out.println("Stringa se ne da pretvoriti v int");
}
<?php echo `w`; ?>

drejc ::

Ma se mi je čudno zdelo da lah na primitivu kličeš isDigit() (Character class) funkcijo, sm mislu da je treba najprej saj scastat na ta class alpa inicializirat nov objekt podobn primitivu char.

Še en način

for(int x=s.length-1, x>=0, x--)
   if( ((int)s.charAt(x) > 47) && ((int)s.charAt(x)<58) ) {
       //hendlej
   }
"Rise above oneself and grasp the world"
- Archimedes of Syracuse

infiniteLoop ::

Ma ja problem je enostaven.

Uporabis lahko regularne izraze (pogooglaj java regexp).
Primer:
String nekaj = ...
nekaj.matches("\\d*");


Ali pa uporabis apache commons lang knjiznico. V njej imas razred StringUtils, ki ima polno metod za izzivljanje nad stringi. V tvojem primeru isNumeric. Na voljo je tudi izvorna koda in ce pogledas kako je metoda realizirana vidis:

public static boolean isNumeric(String str) {
        if (str == null) {
            return false;
        }
        int sz = str.length();
        for (int i = 0; i < sz; i++) {
            if (Character.isDigit(str.charAt(i)) == false) {
                return false;
            }
        }
        return true;
    }


Ko programiras, priporocam, da ne izumljas tople vode in probas uporabit cimvec ze napisane kode, ki je bila ze velikokrat testirana, kar apache commons knjiznice so. Ce te pa zanima kako se nekaj naredi pa brez strahu poglej izvorno kodo ;)
None of us is as dumb as all of us.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Programiranje mikrokontrolerjev v javi

Oddelek: Programiranje
91281 (976) Brane22
»

Kritična ranljivost v Javi posledica Oraclove površnosti

Oddelek: Novice / Varnost
199344 (6782) b3D_950
»

Nadaljevanje učenja jave

Oddelek: Programiranje
161848 (1301) c00L3r
»

Povezava HW-računalnik-internet

Oddelek: Programiranje
121247 (1073) roli
»

problem win. mobile

Oddelek: Mobilne tehnologije
161343 (1187) jonynho

Več podobnih tem