Malý problém s java projektem (začátečnický)

Místo pro dotazy a rady ohledně programovacích jazyků (C++, C#, PHP, ASP, Javascript, VBS..) a tvorby webových stránek

Moderátor: Mods_senior

Odpovědět
Uživatelský avatar
MasterOfShadow
Level 2.5
Level 2.5
Příspěvky: 270
Registrován: 02 čer 2013 22:40

Malý problém s java projektem (začátečnický)

Příspěvek od MasterOfShadow »

Ahoj všichni. Budu moc rád když mi pomůžete :) Začal jsem se pomalinku učit v javě a tak jsem si vzpomněl na jeden úkol, který mám v knize C++. Snažím se ho udělat v javě (Ne nepomáham si díváním do knihy) Ale mám tady takový problém a nevím jak ho vyřešit O.o Prosím jenom rady, které pochopím :D

Kód: Vybrat vše

import java.util.Scanner;


public class podminky {


	public static void main(String[] args) {
				
		System.out.println("Zadejte váš věk");
		Scanner in = new Scanner(System.in);
		int vek;
		vek = in.nextInt();
		
		System.out.println("Zadejte vaší národnost ve zkratce (USA,CZ,...)");
		Scanner in1 = new Scanner(System.in);
		String narodnost;
		narodnost = in1.nextLine();
		
		if (vek >= 18 && narodnost == "USA")
			{System.out.println("Můžete jít k volbám");}
		else if (vek < 18 && narodnost == "USA")
			{System.out.println("Nemůžete jít k volbám nejsem plnoletí");}
		else if (vek > 18 && narodnost != "USA")
			{System.out.println("Nemůžete jít k volbám nemáte americké občanství");}
		else
			{System.out.println("Nemůžete jít k volbám nejste plnoletí ani nemáte americké občanství");}
A problém je takový.. (viz okopírovaná konzole spuštěného kodu)

Kód: Vybrat vše

Zadejte váš věk
18
Zadejte vaší národnost ve zkratce (USA,CZ,...)
USA
Nemůžete jít k volbám nejste plnoletí ani nemáte americké občanství
Nechápu proč mi to nejde když obě podmínky splněné jsou.. Možná o bude tou negací v

Kód: Vybrat vše

else if (vek > 18 && narodnost != "USA")
Ale nevím bohužel jestli je to ono ani jak to vyřešit, protože negace mi dělají problém. Děkuji všem za rady! :)
Zakladní deska : MSI FM2-A85XA-G65
Procesor :Athlon X4 750K
Grafická karta : GIGABYTE GTX 660 Ultra Durable 2GB
Paměti : Kingston HyperX 10th Year XMP 2x4GB
Zdroj : Seasonic SS 500 ET
Case : Eurocase MiddleTower Monster II 9201
Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: Malý problém s java projektem (začátečnický)

Příspěvek od domitea »

Důvod je ten, že String je v Javě objekt -> to znamená, že String "USA" a "USA" nejsou to samé (Jsou to dva rozdílné objekty) a nemůžeš je tedy porovnávat "klasickým způsobem". String má metodu equals, přes ni se porovnávají ;)
Uživatelský avatar
MasterOfShadow
Level 2.5
Level 2.5
Příspěvky: 270
Registrován: 02 čer 2013 22:40

Re: Malý problém s java projektem (začátečnický)

Příspěvek od MasterOfShadow »

aaha.. Takže.. Jakou proměnnou bych měl to string nahradit?
Zakladní deska : MSI FM2-A85XA-G65
Procesor :Athlon X4 750K
Grafická karta : GIGABYTE GTX 660 Ultra Durable 2GB
Paměti : Kingston HyperX 10th Year XMP 2x4GB
Zdroj : Seasonic SS 500 ET
Case : Eurocase MiddleTower Monster II 9201
Uživatelský avatar
domitea
Tvůrce článků
Příspěvky: 1971
Registrován: 24 čer 2009 19:46
Bydliště: Královehradecký kraj
Kontaktovat uživatele:

Re: Malý problém s java projektem (začátečnický)

Příspěvek od domitea »

Nijak, prostě místo:

Kód: Vybrat vše

if (String == String) 
budeš porovnávat Stringy takhle:

Kód: Vybrat vše

if(String.equals(String))
Samozřejmě si tam dosaď názvy proměnných a název metody nemusí být přesný ;)

Pak je tu ještě možnost porovnávat je jako pole charů, ale to není zrovna ideální....
Uživatelský avatar
MasterOfShadow
Level 2.5
Level 2.5
Příspěvky: 270
Registrován: 02 čer 2013 22:40

Re: Malý problém s java projektem (začátečnický)

Příspěvek od MasterOfShadow »

Díky moc, nějak se s tím poperu :)

--- Doplnění předchozího příspěvku (14 Čer 2014 16:17) ---

Nějak mi to pořád nefunguje :D Mohl bys mi prosím pomoct s dosazením do kodu? Jak mám to if tak jak to mám udělat i s tím věkem. Díky
Zakladní deska : MSI FM2-A85XA-G65
Procesor :Athlon X4 750K
Grafická karta : GIGABYTE GTX 660 Ultra Durable 2GB
Paměti : Kingston HyperX 10th Year XMP 2x4GB
Zdroj : Seasonic SS 500 ET
Case : Eurocase MiddleTower Monster II 9201
Odpovědět
  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Malý pracovní notebook
    od Tulda27 » » v Rady s výběrem hw a sestavením PC
    4 Odpovědi
    4810 Zobrazení
    Poslední příspěvek od meda2016
  • Problém s internetem
    od yakubb23 » » v Sítě - hardware
    1 Odpovědi
    11733 Zobrazení
    Poslední příspěvek od meda2016
  • Problém s mikrofonem
    od Shokata88 » » v Problémy s hardwarem
    4 Odpovědi
    9048 Zobrazení
    Poslední příspěvek od Shokata88
  • Problém s internetem
    od valama » » v Internet a internetové prohlížeče
    11 Odpovědi
    16495 Zobrazení
    Poslední příspěvek od RIKI22
  • Problem s nabijanim
    od AirCrew » » v Problémy s hardwarem
    4 Odpovědi
    16541 Zobrazení
    Poslední příspěvek od petr22

Zpět na „Programování a tvorba webu“