Anonymní profil Berry – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil Berry – Programujte.comAnonymní profil Berry – Programujte.com

 

Příspěvky odeslané z IP adresy 193.85.250.–

Java › Prosím o radu! :)
4. 12. 2013   #184757

Udělal bych to takto:

...

if("Cerna".equalsIgnoreCase(y) || 
	"Zelena".equalsIgnoreCase(y) ||
	"Cervena".equalsIgnoreCase(y) ||
	"Zluta".equalsIgnoreCase(y) ||
	"Modra".equalsIgnoreCase(y)){
  ...
}
...

bude to chodit i v případě, že y bude null + case insensitive

Java › Java + Eclispe + MS Acces da…
20. 11. 2013   #184132

Pravým nad nazvem projektu->Properties->Java build Path->zalozka Libraries->Add external JARs..->najdi jar s ovladačem .. hotovo

Java › Java + Eclispe + MS Acces da…
18. 11. 2013   #184051

Máš přilinkovaný ten driver do projektu?

Java › Vlastní události
21. 10. 2013   #182643

Nebo by se dal využít javax.swing.event.EventListenerList. Použití je v javax.swing.JComponent

Java › Vlastní události
21. 10. 2013   #182642

#10 Boox
no právě to je ta nevýhoda. Je tam jen jedna metoda update a kontaktováni budou všichni "posluchači". Rozlišení o jakou akci se jedná je právě v tom instanceof

Java › Vlastní události
21. 10. 2013   #182640

Na místo NumberChangedEvent by mohlo být rozhraní/třída OnNewNumber atd.
 

Java › Vlastní události
21. 10. 2013   #182639

Mohlo by to vypadat nějak takto:

public class NumbersBS extends Observable {
	
	public class NumberChangedEvent {
		private final int oldValue;
		private final int newValue;

		public NumberChangedEvent(int oldValue, int newValue) {
			super();
			this.oldValue = oldValue;
			this.newValue = newValue;
		}

		public int getOldValue() {
			return oldValue;
		}

		public int getNewValue() {
			return newValue;
		}

	}

	private int number;

	public void addNumber(int number) {
		int oldValue = this.number;
		int newValue = number;
		
		this.number = number;
		setChanged();
		notifyObservers(new NumberChangedEvent(oldValue, newValue));
	}

}

public class MainClass {

	public static void main(String[] args) {
		NumbersBS db = new NumbersBS();

		db.addObserver(new Observer() {

			@Override
			public void update(Observable o, Object arg) {
				if (arg instanceof NumberChangedEvent) {
					NumberChangedEvent event = (NumberChangedEvent) arg;
					System.out.println("Zmena hodnoty(stara/nova):" + event.getOldValue() + "/" + event.getNewValue());
				}
			}
		});

		db.addNumber(100);
		db.addNumber(200);
	}

}

Trochu jsem to rozšířil o novou a starou hodnotu. Problém trochu je, že se vždy volá metoda "update".

Java › Vlastní události
18. 10. 2013   #182551

Mrkni na ten odkaz co jsem posílal, dole je příklad.

Java › Vlastní události
18. 10. 2013   #182550

#4 Boox
Proč by jsi pro každou událost musel dělat 3 třídy? Stačí jedna která bude reprezentovat samotnou událost a jednu pro handler. Eventbus bude reprezentovat třída "observer" která je součástí javy.

Java › Vlastní události
17. 10. 2013   #182515
Java › Java - cesta k súboru
27. 9. 2013   #181653

hoď images balík do resources a né do SRC ...

budeš mít:

src/bitee/...

resources/images/bg.jpg

Java › 3vlákna while(true)
18. 9. 2013   #181476

No a proč to nerozdělit na tři resp. čtyři různé věci.

1. proces který se má vykonat

2. spuštění procesu 1. pokud nastane událost na DB

3. spuštění procesu 1. pokud nastane událost na příkazové řádce

4. spuštění procesu 1. pokud příjde požadavek

rozdíl je v tom, že volání procesu bude zajištěno nějakou událostí a o vystřelení události se postará "komponenta". Nebudeš neustále dokola kontrolovat jestli už něco nastalo, ale budeš informován o tom že něco nastalo.

Java › java-konstruktor this
18. 9. 2013   #181474

   

Připojen obrázek.


Někdo ve svém programu bude chtít použít tvou třídu Strom. Vytvořit instanci třídy strom může pomocí tří konstruktorů které vystavuješ:

  1. Strom() - bez zadaných souřadnic x a y
  2. Strom(int x, int y) - včetně zadání souřadnic x a y
  3. Strom(int x, int y, int sirka, int vyska) - stejne jako 2. + rozšířené o šířku a výšku

Pokud někdo zavolá new Strom() tak uvnitř tohoto konstruktru se přes this(0,0) volá konstruktor Strom(int x, int y) kde se do parametru x předá hodnota 0 a do parametru y předá také hodnota 0. Uvnitř konstruktoru Strom(int x, int y) se pomocí this(x,y,100,150) volá konstruktor Strom(int x, int y, int sirka, int vyska) kde se do parametrů x předá 0, y předá 0, sirka předá 100 a do vyska předá 150.

V podstatě tímto způsobem říkáš jaké budou defaultní hodnoty.

Java › java-konstruktor this
18. 9. 2013   #181473

Připojen obrázek.

Pomocí this se ve třídě odkazuješ na atributy té konkrétní třídy (this.x=x).  Pokud by jsi napsal x=x tak by překladač nevěděl jestli chceš do x z parametru konstruktoru vložit hodnotu x atributu třídy, nebo obráceně, nebo dokonce jen do x ukládáš zase jen tu samou hodnotu x ... Tím že řekneš this.x = x tak rozlišíš parametr od atributu.

Konstrukci this je možné také využít v případě, kdy třída má několik konstruktorů a implementace (přiřazení parametrů hodnot do atributů třídy atd.) je napsána pouze v jednom. Pomocí this se obchází omezení, že není možné volat konstruktor z konstruktoru tak jako kdyby jsi volal jakoukoli libovolnou metodu třídy. Konstruktor, který se zavolá voláním přes this(...) je dán počtem a typem parametrů. 

Java › chybova hlaska pri buildu ap…
17. 7. 2013   #179276

A co je vypsáno za chyby v konzoli?

Java › chybova hlaska pri buildu ap…
17. 7. 2013   #179272

To nevím, ale zkus pustit kompilaci s parametrem

-Xlint:unchecked

Třeba ti vypíše víc. Možná že tam máš nějaké přetypování. Pokud v IDE nevidíš nic jako chybu nebo warning tak se podívej jestli náhodou nemáš v Ignore boxing a unboxing:

(eclipse) Window->Preferences->Java->Compiler->Errors/Warnings v pravo pak

Potential programming problems a tak uprostřed je Boxing and unboxing conversions

Java › chybova hlaska pri buildu ap…
17. 7. 2013   #179259

Database.java uses or overrides a deprecated API

Ve třídě Database.java používáš API nebo přímo třída Database je potomkem třídy označené jako deprecated => takto označenou třídu by jsi v kódu něměl používat. Mrkni se do javadocu jestli u té deprecated třídy není někde napsáno jaká třída tu starou nahrazuje.
 

Java › ServiceLoader a jeho možné v…
10. 7. 2013   #179014

Ahoj, nedávno jsem narazil na třídu java.util.ServiceLoader<S>. Napadlo mě, že by se dobře dala využít jako prostředek k implementaci "zásuvných pluginů" aplikací a tak jsem si chtěl něco takového vyzkoušet. Chtěl jsem naprogramovat něco takového:

1) vytvořím interface HelloService, který bude mít jednu metodu public String getHelloMessage()

2) samotný program načte přes ServiceLoader všechny implementace rozhraní z 1) a všechny zprávy vypíše do konzole

3) zásuvné moduly bude možné do aplikace přidávat nakopírováním jaru (implementujícího interface z 1) ) do adresáře lib umístěného ve stejném adresáři jako samotná aplikace

takže jsem v eclipse udělal to, že jsem si vytvořil tři projekty: a) HelloServiceAPI b) HelloServiceApl c) HelloLukasImpl a nemůžu přijít na to, jak nastavit závislosti HelloServiceApl a HelloLukasImpl projektů na HelloServiceAPI tak, aby mi při exportu HelloServiceApl dávala JAR z HelloServiceAPI do externího adresáře s názvem "lib".

Při exportu HelloServiceApl jsem sice nastavil Copy required libraries into sub-folder next to the generated JAR ale to mi to strká do adresáře HelloServiceApl_lib a já bych chtěl aby se adresář jmenoval jen lib.

Pak také nevím jak mám nastavit závislost tak, aby HelloServiceApl a HelloLukasImpl používaly při běhu stejný jar API.

Nemáte někdo nějaký nápad?

Java › Generátor 6 náhodných čísel…
20. 6. 2013   #178272

#14 NotBeginner
Moje chyba, špatně jsem se vyjádřil:

Stejným problémem jsem myslel počet průchodů (iterací) které bude muset udělat cyklus do{} while než naplní požadovaný počet hodnot (tedy než bude porušena podmínka mnozina.size() !=7). Pokud by bylo potřeba např. vygenerovat 100 čísel ze 101 možných pak by tato podmínka nemusela být porušena (cyklus by neskončil) nikdy.

Java › Generátor 6 náhodných čísel…
13. 6. 2013   #177935

Nevýhoda tohoto řešení je, že pokud by gafan4ik potřeboval změnit rozsah čísel/počet čísel (třeba vybrat 6 čísel z 6ti, nebo 49 čísel ze 49) tak by se nemusel dočkat výsledku. Funkce totiž kontroluje jestli vygenerované pseudonáhodné číslo již není vloženo do výsledného seznamu => čím více se bude výsledný seznam rovnat počtu požadovaných čísel tím více se bude muset generátor náhodných čísel "trefit" do užší množiny hodnot.

Řešení nabídl již KIIV - pseudonáhodná čísla nebudou reprezentovat množinu výsledků, ale bude to index ze seznamu možných hodnot.

Mohlo by to vypadat třeba takto:

final int SOURCE_FROM = 1;
final int SOURCE_TO = 49;
final int MAX_SELECTED_COUNT = 6;

List<Integer> source = new ArrayList<Integer>();
List<Integer> selected = new ArrayList<Integer>(MAX_SELECTED_COUNT);

for (int i = SOURCE_FROM; i <= SOURCE_TO; i++) {
	source.add(i); // inicializace zdroju
}

for (int i = 0; i < MAX_SELECTED_COUNT; i++) {
	int randomIndex = new Random().nextInt(source.size());
			
	Integer selectedValue = source.get(randomIndex);
	selected.add(selectedValue);
	source.remove(selectedValue);
}

for (Integer value : selected) {
	System.out.println(value);
}
Java › Jak přidat ikonu k jar aplik…
18. 4. 2013   #175153

#3 Bicek
To je ještě lepší varianta, protože pro změnu ikony není třeba kompilovat kód. 

C / C++ › Divné chování for cyklů
5. 4. 2013   #174470

Kód se mi zdá být v pořádku. Tím kontrolním výpisem myslíš toto: printf("%i\t\n",matrix[i][j]);? Nebo ten děláš někde jinde. Pokud ho máš jinde mrkni se jestli nemáš chybu tam. Jinak asi nejlépe prodebugovat.

JavaScript, AJAX, jQuery › Jak dostat GET do promene
5. 2. 2013   #171148

co třeba takhle:

<script type="text/javascript">
    $(document).ready(function(){
        alert(getParameterByName("third"));
    });
    function getParameterByName(name){
        var url     = document.URL,
            count   = url.indexOf(name);
            sub     = url.substring(count);
            amper   = sub.indexOf("&");

        if(amper == "-1"){
            var param = sub.split("=");
            return param[1];
        }else{
            var param = sub.substr(0,amper).split("=");
            return param[1];
        }

    }
</script>

http://stackoverflow.com/…-with-jquery

Berry
Java › nekonecna smycka
10. 12. 2012   #168535

#1 papen
v prvním cyklu zvedas hodnotu "a" o jedna (a++ což je vlastne a=a+1) a v dalším cyklu jí zase o jedničku snižuješ (a-- což je vlastně a=a-1)

díky tomu se nikdy neporuší podmínka k ukončení forcyklu.

zkus toto:

...

c=a;

for (int b = 0 ; b < ((c--) *2)+1; b++) {
System.out.print(" ");
}

...

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý