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

Uživatelský avatar
MasterOfShadow
Level 2.5
Level 2.5
Příspěvky: 270
Registrován: červen 13
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod MasterOfShadow » 14 čer 2014 13:41

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

Reklama
Uživatelský avatar
domitea
Tvůrce článků
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

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

Příspěvekod domitea » 14 čer 2014 13:53

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: červen 13
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod MasterOfShadow » 14 čer 2014 13:58

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ů
Level 4.5
Level 4.5
Příspěvky: 1971
Registrován: červen 09
Bydliště: Královehradecký kraj
Pohlaví: Muž
Stav:
Offline
Kontakt:

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

Příspěvekod domitea » 14 čer 2014 14:02

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: červen 13
Pohlaví: Muž
Stav:
Offline

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

Příspěvekod MasterOfShadow » 14 čer 2014 14:10

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


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Problém s RAM
    od lukas222 » 04 lis 2024 13:52 » v Problémy s hardwarem
    4
    3385
    od lukas222 Zobrazit poslední příspěvek
    05 lis 2024 13:36
  • Problém s FPS
    od mcrakvar » 26 lis 2024 16:22 » v Vše ostatní (sw)
    4
    4018
    od petr22 Zobrazit poslední příspěvek
    28 lis 2024 10:06
  • Problém s fps spojený s gpu
    od Matyas.S » 02 pro 2024 20:30 » v Hry
    0
    2270
    od Matyas.S Zobrazit poslední příspěvek
    02 pro 2024 20:30
  • Bios problém
    od helpmeboys » 19 zář 2024 19:30 » v Problémy s hardwarem
    2
    3039
    od šulda Zobrazit poslední příspěvek
    20 zář 2024 07:05
  • Problém s internetem
    od yakubb23 » 31 led 2025 19:01 » v Sítě - hardware
    1
    4631
    od meda2016 Zobrazit poslední příspěvek
    31 led 2025 21:50

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

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 6 hostů